Echo curl заголовок и тело запроса без отправки? - PullRequest
36 голосов
/ 30 мая 2011

С помощью инструмента командной строки curl можно echo распечатать или просмотреть запрос, а не отправить его? Вроде как вариант -n? Я хотел бы видеть заголовок запроса и тело, и все остальное, что включено. Есть что-нибудь еще, кроме заголовка и тела?

Ответы [ 2 ]

50 голосов
/ 31 мая 2011

A HTTP-запрос состоит из строки запроса, заголовков и тела.

curl , похоже, не имеет флага для выполнения "dry-бежать".В зависимости от ваших потребностей, вы можете увидеть, что вы хотите, используя netcat в качестве прокси:

$ 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
22 голосов
/ 31 мая 2011

Позвольте мне во-вторых предложить использовать 'nc' (netcat), чтобы увидеть все детали, не отправляя ничего за границу.

Но вы также можете получить все детали для любого запроса командной строки curl, используя команды - trace или - trace-ascii , которые могут сбрасывать все входящие и исходящие данные и запросы на проверку.

Эти опции имеют дополнительное преимущество по сравнению с 'nc', так как они могут отображать детали протокола даже для операций HTTPS и с «настоящими» командными строками и т. Д.

...