a_ex
@a_ex
Веб-разработчик

Как скачать сайт wget`ом с куками и userAgent?

Имеется сайт на cms Moodle.
На нём есть страница с ссылками на различные материалы.
Доступ ограничен post авторизацией (логин и пароль plain text`ом, куки MoodleSession, MOODLEID_).
Требуется закачать страницу вместе со всеми материалами.

Пытаюсь использовать куки и useragent, взятые из firefox уже после ручной авторизации так (парсер тостера перестарался с "http://dl.avalon.ru/course/view.php?id=315"):
wget --load-cookies=cook  --save-cookies=cook --keep-session-cookies --user-agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0"  "<a href="http://dl.avalon.ru/course/view.php?id=315">http://dl.avalon.ru/course/view.php?id=315</a>"

, где cook — это файл с куками сформированный по образцу (Netscape HTTP Cooke File). Вот так, конкретно, я его оформляю:
# HTTP cookie file.
# Generated by Wget on 2013-11-19 23:56:56.
# Edit at your own risk.

dl.avalon.ru    FALSE   /       FALSE   0       MoodleSession   jp98us55<***>vbbu7hj61
dl.avalon.ru    FALSE   /       FALSE   0       MoodleSessionTest       jma<***>WaY
dl.avalon.ru    FALSE   /       FALSE   1390074392      MOODLEID_       %25ED<***>%251CC%25B7d


Результат: возвращается код 200, но страница вопреки ожиданию содержит лишь "выполните вход" и всё в таком роде.

Вот вывод команды в консоль:
--2013-11-19 23:56:55--  <a href="http://dl.avalon.ru/course/view.php?id=316">http://dl.avalon.ru/course/view.php?id=316</a>
Распознаётся dl.avalon.ru... 195.209.230.144
Подключение к dl.avalon.ru|195.209.230.144|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 303 See Other
Адрес: <a href="http://dl.avalon.ru/login/index.php">http://dl.avalon.ru/login/index.php</a> [переход]
--2013-11-19 23:56:56--  <a href="http://dl.avalon.ru/login/index.php">http://dl.avalon.ru/login/index.php</a>
Повторное использование соединения с dl.avalon.ru:80.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 10228 (10.0K) [text/html]
Сохранение в каталог: ««view.php@id=316»».

100%[==============================================================================================>] 10 228      --.-K/s   за 0.006s

2013-11-19 23:56:56 (1.71 MB/s) - «view.php@id=316» saved [10228/10228]


После выполнения команды куки меняются.

Авторизация в firefox и закачка wget`ом выполняется с одной машины:
win7x64sp1 с cygWin64.
  • Вопрос задан
  • 17971 просмотр
Решения вопроса 1
@BasilioCat
Выполните вход (POST с необходимыми полями) через wget. Для надежности сначала запросите GETом страницу логина /login/index.php, она проставит куки, затем выполните POST
на /login/index.php c содержимым вида "username=aaa&password=aaa&testcookies=1", в результате в сессию на стороне сервера запишется информация об успешном логине, после чего можно выкачивать все остальное

P.S.: Ночью на повышенную нагрузку сервера некому будет обратить внимания.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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