Формат файлов cookie при использовании wget?

31

Что такое формат Netscape wget's cookies.txt? Мне нужно отразить сайт, который требует входа в систему. Я использую расширение Chrome, которое возвращает куки в этом формате, я сохраняю их cookies.txt, импортирую по wgetкоманде, но безрезультатно, оно просто загружает контент, как будто я не вошел в систему вообще.

Я ценю любую помощь.

Жарко Джурич
источник

Ответы:

46

Формат - это формат Netscape, как указано на странице руководства, и этот формат:

Макет файла cookies.txt Netscape таков, что каждая строка содержит одну пару имя-значение. Пример файла cookie.txt может содержать запись, которая выглядит следующим образом:

.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103

Каждая строка представляет отдельный фрагмент хранимой информации. Вкладка вставляется между каждым из полей.

Слева направо, вот что представляет каждое поле:

домен - домен, который создал И, который может читать переменную.

флаг - значение ИСТИНА / ЛОЖЬ, указывающее, могут ли все машины в данном домене иметь доступ к переменной. Это значение устанавливается браузером автоматически в зависимости от значения, установленного для домена.

путь - путь в домене, для которого допустима переменная.

secure - значение TRUE / FALSE, указывающее, требуется ли для доступа к переменной безопасное соединение с доменом.

expiration - время UNIX, когда истекает срок действия переменной. Время UNIX определяется как количество секунд с 1 января 1970 года 00:00:00 по Гринвичу.

name - имя переменной.

значение - значение переменной.

(Из " Неофициального FAQ по файлам cookie ", отредактировано для ясности)

ETL
источник
3
Файл Tab или Пробел отделены?
Ferrybig
3
@ferrybig Вкладки используются.
геккон
что-то особенное - это куки, например, 127.0.0.1 вместо чего-то с доменным именем?
PypeBros
4

Одним из способов получения файлов cookie для wget является использование параметров --keep-session-cookies в wget.

Например :

wget --keep-session-cookies --save-cookies cookies.txt "http://MYSITE/?__login=USER&__password=PASS"

В ?__login etcзависимости от веб-сайта, который вы пытаетесь отразить, вам, возможно, придется посмотреть, как работает форма аутентификации.

Тогда вы можете использовать:

wget --mirror --load-cookies cookies.txt http://MYSITE/
Артур Лутц
источник
3
это не отвечает на вопрос о том, что формат файла
Майкл
2

Формат файла cookie Netscape для каждой строки данных такой же, как и выше, но вы не сможете прочитать его, HTTP::Cookies::Netscapeесли у него нет такой строки заголовка, которая требуется для полного формата файла:

# Netscape HTTP Cookie File

или это:

# HTTP Cookie File
Фил Гетц
источник