6

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

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

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

3 ответа3

6

Вот пример скрипта, который будет выгружать куки из Chrome (v19).

#!/bin/bash -e
#
# Quick and dirty script which dumps all Chrome cookies in 
# the specified SQLite database to stdout in Netscape format.

COOKIE_FILE='~/.config/google-chrome/Default/Cookies'

echo -e '.mode tabs \n select host_key, httponly, path, secure, ' \
  'expires_utc/10000000, name, value from cookies;' |
  sqlite3 $COOKIE_FILE |
  sed -e 's/\t0\t/\tFALSE\t/g ' -e 's/\t1\t/\tTRUE\t/g'
2

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

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

Я не проверял это все же.

0

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .