
Какой формат Netscape у wget
's cookies.txt
? Мне нужно отразить веб-сайт, требующий входа в систему. Я использую расширение Chrome, которое возвращает куки в этом формате, я сохраняю их в cookies.txt
, импортирую с помощью wget
команды, но это бесполезно, он просто загружает контент, как будто я вообще не вошел в систему.
Я буду признателен за любую помощь.
решение1
Формат — это формат Netscape, как указано на странице руководства, и он выглядит следующим образом:
Макет файла cookies.txt Netscape таков, что каждая строка содержит одну пару имя-значение. Пример файла cookies.txt может иметь запись, которая выглядит следующим образом:
.netscape.com TRUE / FALSE 946684799 NETSCAPE_ID 100103
Каждая строка представляет собой отдельный фрагмент сохраненной информации.вкладкавставляется между каждым из полей.
Вот что представляет каждое поле (слева направо):
домен- Домен, который создал И который может прочитать переменную.
флаг- Значение TRUE/FALSE, указывающее, могут ли все машины в данном домене получить доступ к переменной. Это значение автоматически устанавливается браузером в зависимости от значения, которое вы установили для домена.
путь- Путь внутри домена, для которого действительна переменная.
безопасный- Значение TRUE/FALSE, указывающее, требуется ли защищенное соединение с доменом для доступа к переменной.
истечение срока действия- UNIX-время, по истечении которого переменная перестанет действовать. UNIX-время определяется как количество секунд с 1 января 1970 года 00:00:00 по Гринвичу.
имя- Имя переменной.
ценить - Значение переменной.
(От "Часто задаваемые вопросы о неофициальных файлах cookie", отредактировано для ясности)
решение2
Формат файла cookie Netscape для каждой строки данных такой же, как указано выше, но вы не сможете прочитать его, HTTP::Cookies::Netscape
если в нем нет строки заголовка, подобной этой, которая требуется для полного формата файла:
# Netscape HTTP Cookie File
или это:
# HTTP Cookie File
решение3
Одним из способов получения файлов 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/