Na przykład POST do serwera WWW z argumentem -v:
curl -v http://testserver.com/post -d "firstname=john&lastname=doe"
I wynik
> POST /post HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
> Host: testserver.com
> Accept: */*
> Content-Length: 28
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
(etc)
Nie ma wzmianki o danych, które opublikowałem.
Czy istnieje opcja w cURL, aby wyświetlić ciąg „firstname = john i nazwisko = doe” na wyjściu?
Uwaga: Oczywiście ciąg, który chcę, znajduje się w poleceniu, które wykonałem, ale istnieje kilka innych opcji wysyłania, takich jak --form i --data-ascii itp. Chciałbym zobaczyć surowe dane wysyłane na serwer.
Odpowiedzi:
Najbliższe, które dostałem bez użycia,
tcpdump
to skorzystanie z--trace-ascii
opcji:Niestety nie działa to, gdy publikujesz
multipart/form-data
:źródło
-v
lub--verbose
zastępujące dyrektywę śledzenia.--trace-ascii
działało dla mnie w systemie OS X 10.8.5 Mountain Lion. Przesłałem wieloczęściowy obiekt z dwoma obrazami i ciałem Jsona i wszystko działało zgodnie z oczekiwaniami--trace-ascii /dev/stdout
ciebie możesz--trace-ascii -
(myślnik)Lub możesz przetestować za pomocą https://httpbin.org/
źródło
Chciałbym dodać alternatywę netcat
źródło
Możesz użyć Charlesa i
curl --proxy localhost:8888
. Simples!źródło
https
nie było wymogiem w pytaniu: p