PHP, curl и raw заголовки

При использовании функций curl PHP, есть ли в любом случае, чтобы увидеть точные исходные заголовки, которые завитка посылает на сервер?

Вы можете использовать curl_getinfo :

Перед вызовом

curl_setopt($ch, CURLINFO_HEADER_OUT, true); 

После

 $headers = curl_getinfo($ch, CURLINFO_HEADER_OUT); 
 <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_exec($ch); var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT)); ?> 

Доступно только в php 5.1.3 http://php.net/manual/en/function.curl-getinfo.php


Вы можете проверить, что они одинаковы, используя консоль и нажав

завиток http://example.com/ -I

или

curl –trace-ascii /file.txt http://example.com/

AFAIK, привязка PHP / CURL по-прежнему не имеет надлежащей поддержки CURLOPT_DEBUGFUNCTION, которая является обратным вызовом libcurl, который может предоставить все эти детали.

Это основная причина, по которой я рекомендую людям работать с HTTP-скриптингом с помощью инструмента командной строки curl и его опции -trace-ascii FIRST, а затем перевести это в функцию PHP.

не забудьте установить параметр CURLINFO_HEADER_OUT перед вызовом curl_getinfo

curl_setopt ($ c, CURLINFO_HEADER_OUT, true);