Подтвердить что ты не робот

Как вы печатаете полученную информацию cookie в stdout с помощью curl?

Как вы печатаете полученную информацию cookie в stdout с помощью curl?

Согласно man-страницам, если вы используете '-' в качестве имени файла для параметра -c --cookie-jar, он должен печатать файл cookie в stdout. Проблема в том, что я получаю сообщение об ошибке:

curl: option -: is unknown

пример команды, которую я запускаю:

curl -c --cookie-jar - 'http://google.com'
4b9b3361

Ответ 1

Вы получаете эту ошибку, потому что используете этот вариант неправильно. Когда вы видите на странице man такую ​​опцию, как:

-c, --cookie-jar <file name>

это означает, что если вы хотите использовать этот параметр, вы должны использовать -c ИЛИ --cookie-jar, нигде не оба! Эти два эквивалентны и, по сути, -c является сокращенной формой для --cookie-jar. В man-страницах есть много и много вариантов, которые разработаны таким же образом.

В вашем случае:

curl -c - 'http://google.com'

--cookie-jar задается как аргумент для параметра -c, поэтому он интерпретируется как имя файла, а не как опция (как вы думаете), а - остается в одиночестве, что приводит к ошибке, поскольку curl, действительно, не имеет такого варианта.

Ответ 2

Удалите "-c"

curl --cookie-jar - 'http://google.com'

Также вы выполняете подробный режим и видите заголовки файлов cookie:

curl -v 'http://google.com'

Ответ 3

Вам нужно использовать два варианта, чтобы получить только текст cookie на stdout:

--cookie-jar <file name> с man-страницы "Если вы установите имя файла в одну тире," - ", файлы cookie будут записаны в stdout"

--output <file> на странице руководства "Запись вывода вместо stdout". Установите его /dev/null, чтобы выбросить его.

Также полезно --silent

Объединяя все это:

curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/'

Вывод:

# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

#HttpOnly_.google.com   TRUE    /   FALSE   1512524163  NID 105=DownH33BKZnCsWJeGvsIC5cKRi7CPT3K3QjfUB-4js5xGw6P_6svMqU1yKlKOEu4XwL_TdddZlcMITefFGOtCCyzJNhO_7E9UMNpbQHja40IAerYP5Bwj-FhY1m35mZdvkVSmrg1pZPvH96IkVVVVVVVV

Мой прецедент: проверьте, что ваш сайт использует настройку cookie HttpOnly в соответствии с рекомендацией OWASP:

curl --silent --output /dev/null --cookie-jar - 'http://www.google.com/' | grep HttpOnly