Показать заголовки запросов curl POST? Есть ли способ сделать это?
Я создаю приложение для веб-автоматизации Curl и испытываю некоторые проблемы с не получением желаемого результата моего действия POST, у меня возникли проблемы с тем, как я могу показать полный запрос POST, который я отправляю (с заголовками), Я искал на этом, но все, что приходит, - это заголовки ответов, на самом деле я тоже хочу их, но и запрос, который ни один из сообщений, которые я нахожу в google, не упоминает..
Я знаю, что могу отобразить результат запроса curl используя что-то вроде этого (простите, если мой синтаксис выключен, я уже закрыл свою виртуальную машину с помощью ide и кода для ссылки на
$result = curl($curl_exect) ;
в любом случае, я был бы очень признателен за любые советы о том, как просмотреть полные заголовки, спасибо
5 ответов
вы можете увидеть информацию о передаче дела:
curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);
перед запросом, и
$information = curl_getinfo($curl_exect);
после обращения
вы также можете использовать 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;
это всего лишь некоторые методы использования заголовков.
здесь все, что вам нужно:
curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking
... // do curl request
$headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers
вы можете сохранить все заголовки, отправленные curl в файл, используя:
$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_STDERR ,$f);
вы можете сделать запрос заголовков самостоятельно, используя:
// 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);
Как пишется на как сделать запрос
У меня была точно такая же проблема в последнее время, и я установил Wireshark (это инструмент мониторинга сети). Вы можете видеть все с этим, кроме зашифрованного трафика (HTTPS).