Можно ли с помощью инструмента командной строки curl echo
, распечатать или просмотреть запрос, а не отправлять его? Что-то вроде варианта -n
? Я хотел бы увидеть заголовок и тело запроса и все остальное, что включено. Есть ли что-нибудь еще, кроме заголовка и тела?
Заголовок и тело запроса эхо-завивки без отправки?
Ответы (2)
Позвольте мне поддержать предложение использовать «nc» (netcat), чтобы увидеть все детали, не отправляя ничего куда-либо за пределы сайта.
Но вы также можете получить все подробности для любого запроса командной строки curl, используя -- trace или --trace-ascii, которые может сбрасывать все входящие и исходящие данные и запросы на проверку.
Эти параметры имеют дополнительное преимущество по сравнению с «nc», поскольку они могут отображать сведения о протоколе даже для операций HTTPS и с «настоящими» командными строками и т. д.
person
Daniel Stenberg
schedule
30.05.2011
--trace -
для стандартного вывода.
- person Ciro Santilli 新疆再教育营六四事件ۍ 06.05.2014
HTTP-запрос состоит из строки запроса, заголовков и тело.
curl, похоже, не имеет флага для "пробного запуска". В зависимости от ваших потребностей вы можете увидеть то, что хотите, используя 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
person
Anders Lindahl
schedule
30.05.2011
Как вы заставили netcat корректно завершать работу (
[1]+ Done
)? В моем тесте я обнаружил, что мне нужно Ctrl-C
из него, затем fg
, а затем Ctrl-D
. Это работает, но кажется неуклюжим способом выхода из netcat.
- person Randall; 21.12.2016
Ах, похоже, что ключом был флаг
--max-time 1
, чтобы тайм-аут, с --silent
, чтобы подавить сообщение о тайм-ауте. Я пропустил их обоих изначально.
- person Randall; 21.12.2016
...конечно, это не будет работать с HTTPS, он показывает только
CONNECT www.stackoverflow.com:443 HTTP/1.1
и Proxy-Connection: Keep-Alive
- person Edoardo; 19.04.2017