-D, --dump-header <file>
Write the protocol headers to the specified file.
This option is handy to use when you want to store the headers
that a HTTP site sends to you. Cookies from the headers could
then be read in a second curl invocation by using the -b,
--cookie option! The -c, --cookie-jar option is however a better
way to store cookies.
а также
-S, --show-error
When used with -s, --silent, it makes curl show an error message if it fails.
а также
-L/--location
(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response
code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested
pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different
host, it won’t be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to
follow by using the --max-redirs option.
When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP
response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified
method.
со страницы руководства. так
curl -sSL -D - www.acooke.org -o /dev/null
следует перенаправлениям, сбрасывает заголовки в stdout и отправляет данные в / dev / null (это GET, а не POST, но вы можете сделать то же самое с POST - просто добавьте любую опцию, которую вы уже используете для данных POST)
обратите внимание на -
после, -D
который указывает, что выходной «файл» является stdout.
curl -s -D - http://yahoo.com -o nul
-D
принимает аргумент, который говорит, куда должен идти вывод. одиночная черточка означает, что она должна идти в стандартный вывод.Другие ответы требуют загрузки тела ответа. Но есть способ сделать запрос POST, который будет получать только заголовок:
-I
Сам по себе выполняет запрос на головку , которая может быть переопределена-X POST
для выполнения POST (или любой другой запроса) и все еще получить только данные заголовка.источник
GET
запрос и не загружает все тело ответа (или, по крайней мере, не выводит его).-s
Флаг не нужен.GET
сPOST
в команде выше , и он будет работать , как ожидалось.or any other
ключ там.POST
некоторые данные. Керл говорит:Warning: You can only select one HTTP request method! You asked for both POST Warning: (-d, --data) and HEAD (-I, --head).
-X HEAD
здесь нет надежного решения.Следующая команда отображает дополнительную информацию
Вы можете попросить сервер отправить только ГОЛОВУ, а не полный ответ
Note:
В некоторых случаях сервер может отправлять разные заголовки для POST и HEAD. Но почти во всех случаях заголовки одинаковы.источник
-X, --request
, это-X HEAD
все равно приводит к «тонне данных», но есть то,-I, --head
что должно привести к тому, что вы ожидаете.-X HEAD
и-I
в точности эквивалентны.-X HEAD
в том, что сервер может отвечать по-другому, поскольку теперь он получаетHEAD
запрос вместоGET
(или каким бы ни был предыдущий запрос)Warning: Setting custom HTTP method to HEAD with -X/--request may not work the Warning: way you want. Consider using -I/--head instead.
Для тел с длительным откликом (и других аналогичных ситуаций) я всегда использую решение по конвейеру
less
, поэтомуили
сделаю работу.
источник
HEAD
запрос, на который многие серверы отвечают по-разному. вторая выдаетGET
запрос, который больше похож на то, что мы ищем здесь.Может быть, это немного экстрим, но я использую эту супер короткую версию:
Объяснение:
-v
выводить отладочную информацию (которая включает заголовки)-o.
отправьте данные веб-страницы (которые мы хотим игнорировать) в определенный файл,.
в данном случае, который является каталогом и является недопустимым местом назначения и делает вывод игнорируемым.-s
нет индикатора выполнения, нет информации об ошибке (иначе вы увидитеWarning: Failed to create the file .: Is a directory
)предупреждение: результат всегда терпит неудачу (с точки зрения кода ошибки, если достижим или нет). Не используйте, скажем, условные операторы в сценариях оболочки ...
источник
-o.
вместо-o /dev/null
?-o.
используется-o /dev/null
для краткостиcurl -svo. <url> && echo foo
не будет печатать ,foo
потому что-o.
делаютcurl
возвращать (= ошибка) код ненулевым:curl: (23) Failed writing body
.Намного проще - это то, что я использую, чтобы избежать отслеживания Shortlink - это следующее:
... который также следует по ссылкам .
источник
В то время как другие ответы не помогли мне во всех ситуациях, лучшее решение, которое я смог найти (работая
POST
также), взято отсюда :curl -vs 'https://some-site.com' 1> /dev/null
источник
headcurl.cmd (версия для Windows)
-s
,-S
,-k
,-v
(речь идет об устранении неполадок, не так ли?),%*
означает [передать все параметры в этот скрипт] (хорошо ( https://stackoverflow.com/a/980372/444255 ), обычно это всего лишь один параметр: URL, который вы тестируетеПример из реальной жизни (по устранению неполадок с прокси):
Версия для Linux
для вашего
.bash_aliases
/.bash_rc
:источник
-X POST
к параметрам passthrough, если вы хотите GET, используйте GET (то есть по умолчанию), поскольку ответы могут отличаться. - Если вы не будете сильно скручивать в производственных сценариях (не для диагностики и разработки), мне не безразлична полоса пропускания.