Показать заголовки POST-запроса Curl?Есть ли способ сделать это? - PullRequest
80 голосов
/ 02 июля 2010

Я создаю приложение для веб-автоматизации Curl и у меня возникли проблемы с невозможностью получить желаемый результат моего действия POST. У меня возникли проблемы с выяснением того, как я могу показать полный запрос POST, который я отправляю (с заголовками).), Я искал по этому, но все, что появляется, это заголовки ответа, на самом деле я тоже хочу это, но также и запрос, о котором ни одна из постов, которые я нахожу в Google, кажется, не упоминает ..

Я знаюЯ могу отобразить результат запроса скручивания, используя что-то вроде этого (извините, если мой синтаксис выключен, я уже выключил свою виртуальную машину с моим ide и кодом для ссылки на

 $result = curl($curl_exect) ;

В любом случае, я быБольшое спасибо за любые советы о том, как просмотреть полные заголовки, спасибо

Ответы [ 5 ]

163 голосов
/ 13 декабря 2011

Вот все, что вам нужно:

curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking
... // do curl request    
$headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers
67 голосов
/ 02 июля 2010

Вы можете просмотреть информацию о переводе, выполнив:

curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);

до запроса и

$information = curl_getinfo($curl_exect);

после запроса

Просмотр: http://www.php.net/manual/en/function.curl-getinfo.php

Вы также можете использовать CURLOPT_HEADER в своем curl_setopt

curl_setopt($curl_exect, CURLOPT_HEADER, true);

$httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE);

if($httpcode == 200) {
    return true;
}

return false;

Это только некоторые методы использования заголовков.

9 голосов
/ 01 октября 2013

Вы можете сохранить все заголовки, отправленные с помощью curl, в файл, используя:

$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_STDERR ,$f);
6 голосов
/ 02 июля 2010

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

// open a socket connection on port 80
$fp = fsockopen($host, 80);

// send the request headers:
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

$result = ''; 
while(!feof($fp)) {
    // receive the results of the request
    $result .= fgets($fp, 128);
}

// close the socket connection:
fclose($fp);

Как написано на как сделать запрос

3 голосов
/ 02 июля 2010

В последнее время у меня была точно такая же проблема, и я установил Wireshark (это инструмент для мониторинга сети). С этим вы можете видеть все, кроме зашифрованного трафика (HTTPS).

...