Beispiel: POST an einen Webserver mit dem Argument -v:
curl -v http://testserver.com/post -d "firstname=john&lastname=doe"
Und die Ausgabe
> 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)
Die von mir geposteten Daten werden nicht erwähnt.
Gibt es eine Option in cURL, um die Zeichenfolge "Vorname = John & Nachname = Doe" in der Ausgabe anzuzeigen?
Hinweis: Natürlich ist die gewünschte Zeichenfolge in dem Befehl enthalten, den ich ausgeführt habe. Es gibt jedoch auch einige andere Optionen für das Versenden, z. B. --form und --data-ascii usw. Ich möchte sehen, wie die Rohdaten an den Server gesendet werden.
Antworten:
Das nächste, was ich ohne Verwendung bekommen habe,
tcpdump
ist die Verwendung der--trace-ascii
Option:Leider funktioniert dies nicht, wenn Sie posten
multipart/form-data
:quelle
-v
oder,--verbose
da sie die Trace-Direktive überschreiben.--trace-ascii
hat für mich unter OS X 10.8.5 Mountain Lion funktioniert. Ich habe ein mehrteiliges Formularelement mit zwei Bildern und einem JSON-Body hochgeladen und alles hat wie erwartet funktioniert--trace-ascii /dev/stdout
Sie können--trace-ascii -
(Dash)Oder Sie könnten mit https://httpbin.org/ testen
quelle
Möchte netcat Alternative hinzufügen
quelle
Sie könnten Charles und
curl --proxy localhost:8888
. Simples!quelle
https
war in der frage keine anforderung: p