Как бы вы решали такую задачу:
Есть WEB-ресурс, с которого надо скачать заранее известный набор файлов. Проблема в том, что на ресурс требуется вначале залогиниться через формочку, введя логин-пароль.
Поэтому напрямую файлы через WGET не скачаешь. Что можно сделать в такой ситуации? У меня пока два направления:
1. Замутить что-то на Firefox с Greasymonkey. Проблема в том, что неясно, как через JavaScript скачивать файлы. Генерировать GET-запрос? Но даже если это сделать, то для каждого загружаемого файла придется вручную жмякать "Сохранить" - "Ок".
2. Зайти через Firefox вручную, потом выдрать сессию, пихнуть ее в WGET и скачать файлы. Как-то замороченно получается честногря, и не уверен что одними сессиями можно обойтись для подмены браузера на WGET.
Вопрос. По какому направлению двигаться? Есть ли еще какие пути решения?
Xintrea (05.04.2012 0:00:09)
Можно сделать скрипт который будет вводить данные.
И даже скачивать, сможет сам. Только придется User Agent изменить.
XoFfiCEr (05.04.2012 0:04:10)
wget --load-cookies="путь к кукам" ....
april (05.04.2012 0:07:12)
curl --cookie-jar <file> -F ...=... -F ...=... http://.../login.cgi
curl --cookie-jar <same file> -O http://.../<file mask for curl>
AITap (05.04.2012 0:13:47)
www.linux.org.ru/forum/linux-org-ru/3553636?cid=3554247
sdio (05.04.2012 0:47:53)
Смотришь(например с помощь firebug или тупо в html-коде) куда отправляяется форма и какие у неё поля, затем, пишешь скрипт, использующий curl, который
1. Пытается скачать ресурс, использую куки из файла
2. Если скачивание не удалось (по ряду формальных признаков), посылаешь POST туда же, куда и форма авторизации, с полями, заполненными правильными данными для авторизации. Только не забудь ключик поставить, чтобы редиректам следовал. Полученные куки сохраняешь в файл.
3. Снова пробуешь п.1
r_asian (05.04.2012 7:52:49)