47 votes

Echo de l'en-tête et du corps de la requête curl sans l'envoyer ?

Avec l'outil de ligne de commande curl, est-il possible de echo Vous avez la possibilité d'imprimer ou de visualiser la demande et de ne pas l'envoyer ? Un peu comme un -n option ? J'aimerais voir l'en-tête et le corps de la requête, ainsi que tout ce qui est inclus. Y a-t-il autre chose qui est envoyé en plus de l'en-tête et du corps ?

59voto

Anders Lindahl Points 17380

A Demande HTTP est construit avec une ligne de demande, des en-têtes et un corps.

bouclette ne semble pas avoir d'indicateur permettant de faire un "essai à sec". En fonction de vos besoins, vous pourrez peut-être obtenir ce que vous voulez en utilisant netcat en tant que mandataire :

$ nc -l localhost 8000 &
[1] 3150
$ curl --proxy localhost:8000 --silent --max-time 1 http://www.stackoverflow.com
GET http://www.stackoverflow.com HTTP/1.1
User-Agent: curl/7.19.7 (x86_64-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
Host: www.stackoverflow.com
Accept: */*
Proxy-Connection: Keep-Alive

[1]+  Done                    nc -l localhost 8000

29voto

Daniel Stenberg Points 9116

Permettez-moi d'appuyer la suggestion d'utiliser 'nc' (netcat) pour voir tous les détails sans envoyer quoi que ce soit hors site.

Mais vous pouvez également obtenir tous les détails de toute requête en ligne de commande curl en utilisant la fonction --trace o --trace-ascii des commandes qui peuvent déverser toutes les données entrantes et sortantes et les demandes d'inspection.

Ces options présentent l'avantage supplémentaire, par rapport à 'nc', de pouvoir afficher les détails du protocole, même pour les opérations HTTPS et avec de "vraies" lignes de commande, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X