Par exemple, le POST sur un serveur Web avec l'argument -v:
curl -v http://testserver.com/post -d "firstname=john&lastname=doe"
Et la sortie
> 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)
Il n'y a aucune mention des données que j'ai posté.
Existe-t-il une option dans cURL pour afficher la chaîne "firstname = john & lastname = doe" dans la sortie?
Remarque: évidemment, la chaîne que je veux est dans la commande que j'ai exécutée, mais il existe plusieurs autres options de publication telles que --form et --data-ascii, etc. J'aimerais que les données brutes soient envoyées au serveur.
Réponses:
Le plus proche que je me suis sans utiliser
tcpdump
utilise l'--trace-ascii
option:Malheureusement, cela ne fonctionne pas lorsque vous postez
multipart/form-data
:la source
-v
ou--verbose
car ils écrasent la directive trace.--trace-ascii
travaillé pour moi sur OS X 10.8.5 Mountain Lion. J'ai téléchargé une entité de formulaire en plusieurs parties avec deux images et un corps json et tout a fonctionné comme prévu--trace-ascii /dev/stdout
vous pouvez--trace-ascii -
(Ou vous pouvez tester avec https://httpbin.org/
la source
Voudrais ajouter une alternative à Netcat
la source
Vous pouvez utiliser Charles et
curl --proxy localhost:8888
. Simples!la source
https
n'était pas une exigence dans la question: p