Как загрузить эту веб-страницу Wget?

Я хочу загрузить веб-страницу http://forum.ubuntu-it.org/, но она требует имени пользователя и пароля. Таким образом, я использовал это:

wget --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

Но это не работает! Почему?

6
задан 26.02.2015, 01:50

2 ответа

Это возможно, потому что сервер использует сеансовые куки для отслеживания аутентификации. Добавьте опцию --save-cookies рядом, чтобы вынудить cookie, который будет сохранен. Таким образом, Ваша команда похожа на это:

wget --keep-session-cookies --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/

Я не протестировал его все же.

2
ответ дан 07.12.2019, 15:58

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

У Вас должен быть cookie для wget для передачи серверу по начальному запросу. Используйте wget's --load-cookies опция (зарегистрированный здесь). Обратите внимание, что это использует старый формат файла cookies.txt, а не sqlite формат базы данных, который в настоящее время используют Firefox и Chrome.

Вот то, что я сделал бы:

  1. Используя Firefox или Chrome, перейдите к сайту и войдите в систему. (Удостоверьтесь, что Ваш браузер настроен для сохранения cookie),
  2. Выйдите из своего браузера
  3. Найдите свой файл cookie
  4. Преобразуйте в формат cookies.txt (см. примечания ниже по этому),
  5. wget --load-cookies cookies.txt http://forum.ubuntu-it.org/

Опции преобразовать от sqlite формата до cookies.txt включают сценарий Python или более простой sqlite сценарий (в комментариях, что предыдущая ссылка), но самое легкое для Вас могло бы быть должно установить это расширение Firefox.

0
ответ дан 07.12.2019, 15:58

Теги

Похожие вопросы