Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

После

$headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);

Ответ 2

<?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


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

curl http://example.com/ -I

или

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

Ответ 3

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

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

Ответ 4

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

curl_setopt ($ c, CURLINFO_HEADER_OUT, true);