Скручивать только данные и заголовки - PullRequest
73 голосов
/ 13 ноября 2008

Я хочу получить заголовки только из запроса curl

curl -I www.google.com

Все грандиозно. Теперь я хочу сделать это, но также передать данные поста:

curl -I -d'test=test' www.google.com

Но все, что я получаю, это:

Warning: You can only select one HTTP request!

Кто-нибудь знает, как это сделать, или я делаю что-то глупое?

Ответы [ 2 ]

113 голосов
/ 13 ноября 2008

Параметр -I указывает curl выполнить запрос HEAD, а параметр -d'test=test' указывает curl выполнить POST, поэтому вы указываете curl выполнить два разных типа запроса.

curl -s -d'test=test' -D- -o/dev/null www.google.com 

или, в Windows:

curl -s -d'test=test' -D- -onul: www.google.com 

Это самый лучший способ сделать это, насколько я могу найти. Варианты:

  • -D- Дамп заголовка к указанному файлу или stdout при передаче -, как это.
  • -o/dev/null Отправьте тело в указанный файл. Здесь мы отбрасываем тело, поэтому видим только заголовки.
  • -s Без звука (без индикатора выполнения)
30 голосов
/ 13 ноября 2008

-d означает, что вы отправляете данные формы методом POST. -I означает, что вы просто просматриваете метаданные через HEAD.

Я бы предложил либо

  • Загрузить в /dev/null и записать заголовки через -D headerfile в файл headerfile
  • Используйте -i, чтобы включить заголовки в ответы и пропустить все с первой пустой строки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...