Утилита cURL может показывать HTTP заголовки, если вы используете опцию -I (означает запрос методом HEAD, то есть кроме заголовков ничего больше не будет прислано — некоторые простые веб-серверы это не поддерживают), либо при использовании аргумента -v.
К примеру:
curl -v -d "firstname=john&lastname=doe" -A 'Chrome' http://suip.biz:8080
Пример вывода:
Максимум, что можно увидеть, это информация о том, что данные полностью выгружены:
> POST / HTTP/1.1 > Content-Length: 27 > Content-Type: application/x-www-form-urlencoded > * upload completely sent off: 27 out of 27 bytes * Mark bundle as not supporting multiuse
А если вы попытаетесь использовать одновременно опцию -I и -d, то получите ошибку:
Warning: You can only select one HTTP request method! You asked for both POST Warning: (-d, --data) and HEAD (-I, --head).
Суть в том, что нужно выбрать один из методов: POST или HEAD.
Итак, есть ли какая-либо возможность просмотреть отправленные данные, то есть как в выводе отобразить строку "firstname=john&lastname=doe"?
Конечно же, очевидно, что строка, которую мы хотим увидеть, присутствует в выполняемой команде, но имеется несколько других POST опций, таких как —form и —data-ascii и т. д. Если нам хочется увидеть, как на сервер отправляются сырые данные, есть ли для этого способ?
Кроме варианта использования сторонней программы tcpdump (смотрите, кстати «Фильтры tcpdump и pcap. Фильтры захвата Wireshark»), есть способ увидеть эти данные непосредственно в cURL, для этого используйте опцию —trace-ascii:
curl --trace-ascii /dev/stdout -d "firstname=john&lastname=doe" -A 'Chrome' http://suip.biz:8080
Теперь в выводе присутствует выгружаемые данные.
Вместо «—trace-ascii /dev/stdout» можно использовать «—trace-ascii —». Эти записи являются равнозначными, поскольку символ — (тире) означает /dev/stdout, то есть стандартный вывод.
Связанные статьи:
- Как выгрузить файлы методом POST с помощью cURL. Как отправить форму в cURL (100%)
- Как с помощью PhantomJS отправить POST запрос и получить содержимое страницы (84.6%)
- PHP cURL как установить значение User Agent ИЛИ как сделать так, чтобы сервера не блокировали запросы cURL? (65.4%)
- Как скачивать файлы по SSH (65.4%)
- Как использовать cURL для отправки кукиз (65.4%)
- Что такое glue record в DNS (RANDOM - 50%)

