Tworzę aplikację do automatyzacji sieci Web Curl i mam problem z nie uzyskaniem pożądanego wyniku mojej akcji POST, mam problem ze zrozumieniem, jak mogę wyświetlić pełne żądanie POST, które wysyłam (z nagłówkami), ja szukałem tego, ale wszystko, co się pojawia, to nagłówki odpowiedzi, właściwie to też chcę, ale także żądanie, o którym nie wspomina żaden z postów, które znajduję w Google.
Wiem, że mogę wyświetlić wynik żądania curl, używając czegoś takiego (wybacz mi, jeśli moja składnia jest wyłączona, już zamknąłem maszynę wirtualną z moim IDE i kodem do odniesienia
$result = curl($curl_exect) ;
W każdym razie byłbym bardzo wdzięczny za wszelkie porady dotyczące wyświetlania pełnych nagłówków, dzięki
Odpowiedzi:
Możesz zobaczyć informacje dotyczące przelewu wykonując:
curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);
przed żądaniem i
po zgłoszeniu
Możesz również użyć
CURLOPT_HEADER
w swoimcurl_setopt
curl_setopt($curl_exect, CURLOPT_HEADER, true); $httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE); return $httpcode == 200;
To tylko niektóre metody korzystania z nagłówków.
źródło
curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);
Oto wszystko, czego potrzebujesz:
curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking ... // do curl request $headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers
źródło
Możesz zapisać wszystkie nagłówki wysłane przez curl do pliku za pomocą:
$f = fopen('request.txt', 'w'); curl_setopt($ch,CURLOPT_VERBOSE,true); curl_setopt($ch,CURLOPT_STDERR ,$f);
źródło
Możesz samodzielnie zażądać nagłówków, używając:
// 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);
Jak napisane o tym, jak złożyć wniosek
źródło
Ostatnio miałem dokładnie ten sam problem i zainstalowałem Wireshark (jest to narzędzie do monitorowania sieci). Możesz zobaczyć wszystko, z wyjątkiem zaszyfrowanego ruchu (HTTPS).
źródło
Ctrl+Shift+J
a następnie kliknąćXHR
przycisk i nazwę pliku, a następnie zobaczyć nagłówki i dane.