В настоящее время я экспериментирую с флагами скручивания, ищу, как получить только заголовки ответа, следую перенаправлению, если оно есть, используемому шифрованию и аутентификации и времени прохождения туда-обратно.

Какой флаг я должен использовать, чтобы скрыть / отключить тело HTML в выводе?

2 ответа2

2

Как заставить curl отключить вывод html

Используйте флаг -s (для тихой работы) и перенаправьте stout (>) в (например) /dev/null (или, если вы в Windows, просто в NUL)

Это, inc комбинация с -D <file> (aka --dump-header) может дать вам результат, который вы ищете.

Man-страница curl содержит дополнительную информацию о параметрах командной строки, которая может оказаться полезной.

пример

$ curl -s https://superuser.com -D su.txt > /dev/null
$ less -FX su.txt
HTTP/2 200 
date: Sun, 25 Feb 2018 17:24:30 GMT
content-type: text/html; charset=utf-8
x-frame-options: SAMEORIGIN
x-request-guid: e147da19-7cc9-42cd-8706-4204fd64d4a9
strict-transport-security: max-age=15552000
content-security-policy-report-only: default-src https: wss: data: blob: 'unsafe-eval' 'unsafe-inline'; report-uri https://stackoverflow.report-uri.io/r/default/csp/reportOnly
accept-ranges: bytes
via: 1.1 varnish
x-served-by: cache-lcy19224-LCY
x-cache: MISS
x-cache-hits: 0
x-timer: S1519579470.439587,VS0,VE88
vary: Fastly-SSL
x-dns-prefetch-control: off
set-cookie: prov=d007391b-afc2-4717-282a-287f18827242; domain=.superuser.com; expires=Fri, 01-Jan-2055 00:00:00 GMT; path=/; HttpOnly
cache-control: private
content-length: 101543
1

Вы можете удалить тело, сохраняя при этом заголовки, указав curl, чтобы вывести их на стандартный вывод:

$ curl -D/dev/stdout -o/dev/null -s https://superuser.com
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
X-Request-Guid: a599d44b-705c-4615-a8d8-80c7614bd64f
...
  • -D/dev/stdout: вывести заголовки на стандартный вывод
  • -o/dev/null: сбросить тело
  • -s: отключить индикатор прогресса

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .