Chciałbym zobaczyć, jakie są pola postu w żądaniu, zanim go wyślę. (Do celów debugowania).
Używana przeze mnie biblioteka (klasa) PHP jest już stworzona (nie przeze mnie), więc staram się ją zrozumieć.
O ile mi wiadomo, używa curl_setopt()
różnych opcji, takich jak nagłówki i takie, a następnie używa curl_exec()
do wysłania żądania.
Pomysły, jak sprawdzić, które pola pocztowe są wysyłane?
Odpowiedzi:
Możesz włączyć
CURLOPT_VERBOSE
opcję:Po
CURLOPT_VERBOSE
ustawieniu dane wyjściowe są zapisywane w STDERR lub w pliku określonym za pomocąCURLOPT_STDERR
. Wynik jest bardzo pouczający.Możesz także użyć tcpdump lub wireshark, aby obserwować ruch w sieci.
źródło
CURLINFO_HEADER_OUT
naTRUE
. O ile mogę powiedzieć ...Możesz włączyć tę
CURLOPT_VERBOSE
opcję i zapisać te informacje w (tymczasowym)CURLOPT_STDERR
:Możesz go przeczytać po wykonaniu przez curl żądania:
(Początkowo odpowiadałem na podobne, ale bardziej rozbudowane pytanie powiązane).
Więcej informacji, takich jak dane o ostatnim żądaniu, jest dostępnych za pośrednictwem
curl_getinfo
. Te informacje mogą być również przydatne podczas debugowania żądań curl. Przykład użycia, normalnie owinąłbym to w funkcję:źródło
Oto prostszy kod dla tego samego:
gdzie $ fp jest uchwytem pliku do wyświetlania błędów wyjściowych. Na przykład:
(Przeczytaj na http://curl.haxx.se/mail/curlphp-2008-03/0064.html )
źródło
Oto jeszcze prostszy sposób, pisząc bezpośrednio na wyjście błędu php
źródło
Aby uzyskać informacje o żądaniu CURL, wykonaj następujące czynności:
źródło
Jeśli chcesz tylko bardzo szybki sposób na debugowanie wyniku:
źródło
Inną (surową) opcją jest wykorzystanie netcata do zrzucenia pełnego żądania:
I oczywiście wysyłanie do niego nieudanego żądania:
Zwłaszcza, że zawsze zawiesza się + kończy, ponieważ netcat nigdy nie skonstruuje prawidłowej odpowiedzi HTTP. To naprawdę tylko w celu sprawdzenia, co naprawdę zostało wysłane. Lepszą opcją jest oczywiście skorzystanie z usługi debugowania żądań HTTP .
źródło
Dane wyjściowe debugowania do STDERR:
Dane wyjściowe debugowania do pliku:
Zobacz https://github.com/andriichuk/php-curl-cookbook#debug-request
źródło