Форум сайта python.su
Здравствуйте, уважаемые участники форума. Недавно решил написать плагин для XBMC, и столкнулся с проблемой авторизации на сайте Lostfilm.tv (не реклама). Код который я написал:
url = 'http://login.bogi.ru/login.php?referer=http%3A%2F%2Fwww.lostfilm.tv%2F' passwd = 'пароль' login = 'логин' values = { 'login' : login, 'password' : passwd, 'module' : 1, 'target' : 'http://lostfilm.tv/', 'repage' : 'user', 'act' : 'login' } urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor)) params = urllib.urlencode(values) request = urllib2.Request(url, params) f = urllib2.urlopen(request) text = f.read() print text
Прикреплённый файлы:
Login.txt (47 байт)
Офлайн
Я думаю должно быть login1:
url = 'http://login1.bogi.ru/login.php?referer=http%3A%2F%2Fwww.lostfilm.tv%2F'
Офлайн
Спасибо! Действительно пропустил единичку, теперь приходит ответ с данными.
П.С: Правда все равно не хочет качать ссылки вида http://lostfilm.tv/download.php?id=11782&American.Horror.Story.S04E05.1080p.rus.LostFilm.TV.mkv.torrent на выходе получается пустой файл. Здесь сказано, что надо передавать куки при закачке файла.
Цитата:
Но, дело в том, что без авторизации LostFilm не даст скачать файлы. Чтобы можно было скачать файлы нужно вместе с GET запросом передать cookies со сведениями об авторизации. К счастью, команда wget умеет загружать cookies из указанного файла.Вопрос: как передать куки, чтобы скачать эту ссылку?
Отредактировано Siper (Ноя. 9, 2014 00:09:52)
Офлайн
SiperДля Firefox есть плагин cliget. По правой кнопке мыши он формирует запрос для wget и curl таким образом, чтобы можно было скачать файл даже для защищенного соединения. Посмотрите его структуру. Запрос выглядит примерно так:
как передать куки, чтобы скачать эту ссылку?
curl –header ‘Host: download.geo.drweb.com’ –header ‘User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.2.0’ –header ‘Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’ –header ‘Accept-Language: en-US,en;q=0.5’ –header 'Referer: http://www.freedrweb.com/download+cureit/?nc=t&lng=ru' –header ‘Cookie: lng=en; drwse=69b965adda8f86586fa84ac1aab31ece’ –header ‘Connection: keep-alive’ 'http://download.geo.drweb.com/pub/drweb/cureit/1415479163.576/3era7wsc.exe' -o ‘3era7wsc.exe’ -L
wget –header='Host: download.geo.drweb.com' –header='User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.2.0' –header='Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' –header='Accept-Language: en-US,en;q=0.5' –header='Referer: http://www.freedrweb.com/download+cureit/?nc=t&lng=ru' –header='Cookie: lng=en; drwse=69b965adda8f86586fa84ac1aab31ece' –header='Connection: keep-alive' 'http://download.geo.drweb.com/pub/drweb/cureit/cureit.exe' -O ‘cureit.exe’ -c
Отредактировано vanvanov (Ноя. 9, 2014 00:50:31)
Офлайн
Siperзнаю вариант через requests
Здравствуйте, уважаемые участники форума. Недавно решил написать плагин для XBMC, и столкнулся с проблемой авторизации на сайте Lostfilm.tv (не реклама). Код который я написал:
headers = { тут то что браузер передает } data = [ ('act', 'users'), ('type', 'login'), ('mail', 'ваш логин'), ('pass', 'ваш пароль'), ('rem', '1'), ] s=requests.Session() s.headers.update(headers) res = s.post('http://www.lostfilm.tv/ajaxik.php', data=data)
Офлайн
ТС уже два года как в армии.
Офлайн
Deon
ну и нахрена тут Session? обычный запрос надо строить и передавать словарь с заголовками.
Офлайн