Intereting Posts
Что было бы хорошим образцовым проектом, чтобы попросить потенциального программиста кодировать во время процесса найма? PHP конвертирует psd в jpg, выбирая слои изображения WordPress – добавление классов в wp_list_pages Установите тайм-аут для конкретной функции / блока кода (не весь скрипт)? Получить дату следующего 15-го и / или 30-го дня с помощью php? mcrypt blowfish php немного отличается по сравнению с java и .net Разрешение изменения DateTime в PHP Dropzone.js – $ _FILES пуст Как загрузить файл вида из другого представления с помощью Codeigniter БЕЗ необходимости проходить через контроллер? array_intersect выдает ошибки, когда массивы имеют подматрицы Модуль Magento Fatal error: Class 'Mage_Cashondelivery_Helper_Data' не найден в \ xampp \ htdocs \ magento \ app \ Mage.php в строке 516 PHP: создание изображения из таблицы html Доктрина, не позволяющая ResultSetMappingBuilder работать Установить HTTP-запрос «Content-Type» Сообщение error_log усечено при использовании print_r

Параметр CURLOPT_NOBODY возвращает неожиданный код HTTP 200 в несуществующий файл

В этом примере у меня есть сервер с именем install64-7 к которому я install64-7 доступ, чтобы проверить наличие zip-файла, который не находится на сервере. Следующий PHP-код возвращает код возврата HTTP 200 даже если zip-файл не существует на сервере install64-7 .

 $srcPath = "http://install64-7/TestApp.zip"; $ch = curl_init( $srcPath ); curl_setopt( $ch, CURLOPT_NOBODY, true ); curl_exec( $ch ); $retcode = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); curl_close( $ch ); unset( $ch ); var_dump($retcode); exit; 

введите описание изображения здесь

Если я удалю опцию CURLOPT_NOBODY , запрос даст 404 ! посмотреть скриншот для второго запроса

 $srcPath = "http://install64-7/TestApp.zip"; $ch = curl_init( $srcPath ); //curl_setopt( $ch, CURLOPT_NOBODY, true ); curl_exec( $ch ); $retcode = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); curl_close( $ch ); unset( $ch ); var_dump($retcode); exit; 

введите описание изображения здесь

Как это возможно, чего мне не хватает? Что это за колдовство по поводу опции CURLOPT_NOBODY ? Спасибо за любую помощь

CURLOPT_NOBODY, установленный в TRUE, делает запрос HTTP HEAD по сравнению с «обычным» HTTP GET.

Если вы получаете другой код ответа, из-за этого просто потому, что сервер решает ответить по-другому – хотя он не должен соответствовать спецификации HTTP.