Я создаю приложение для зависания веб-приложений Curl, и у меня есть проблема с тем, чтобы не получить желаемый результат моего действия POST. У меня возникли проблемы с выяснением того, как я могу показать полный запрос POST, который я отправляю (с заголовками), я были поиск по этому вопросу, но все, что появляется, – это заголовки ответов, на самом деле я тоже хочу их, но также и запрос, о котором ни одна из сообщений, которые я нахожу в Google, не упоминается.
Я знаю, что могу отобразить результат запроса на завивание, используя что-то вроде этого (простите меня, если мой синтаксис выключен, я уже закрыл свою виртуальную машину с помощью своего ide и кода, чтобы ссылаться на
$result = curl($curl_exect) ;
В любом случае, я был бы очень признателен за любые советы о том, как просматривать полные заголовки, спасибо
Вы можете просмотреть информацию о передаче, выполнив:
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;
Это лишь некоторые способы использования заголовков.
Вот вам все, что вам нужно:
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).