Найти - Пользователи
Полная версия: POST-запрос на авторизацию или "Что я делаю не так?"
Начало » Web » POST-запрос на авторизацию или "Что я делаю не так?"
1
couatl
Цель: залогиниться на сайте из программы питона с дальнейшей целью парсинга страниц.
Подход: при авторизации через браузер, включаю снифер (в моем случае httpFox для Firefox) с целью узнать структуру POST-запроса.
Достиг: авторизация ВКонтакте
import urllib
import urllib2

''' вход в vkontakte.ru '''
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor))
params = urllib.urlencode({'email': 'blabla@gmail.com', 'pass': 'blablabla'})
request = urllib2.Request('http://vkontakte.ru/login.php', params)
f = urllib2.urlopen(request)
Проблемы: подобными методами не могу авторизоваться на сайтах habrahabr.ru и intuit.ru

Как это делаю я:
''' все тоже, кроме этих строчек ''' 
''' вход в intuit.ru '''
params = urllib.urlencode({'login': 'mylogin', 'password': 'mypass'})
request = urllib2.Request('http://www.intuit.ru/user/login/', params)
''' вход в habrahabr.ru '''
params = urllib.urlencode({'login': 'mylogin', 'password': 'mypass'})
request = urllib2.Request('http://habrahabr.ru/login/', params)
Вопрос: что я делаю не так?
d1ffuz0r
так я парсил события http://pastebin.com/zP1LPY7u
couatl
Проблема не в парсинге, а в авторизации. Причем авторизация вконтакте сделана и рабочая.
Не могу понять, почему на Habrahabr.ru и Intuit.ru не срабатывает
couatl
Проблема не решена, прошу кто знает в чем проблема - ответить.
bw
Смотри какие запросы на проблемных сайта уходят, наверняка там генерируются дополнительные поля, да и вообще запрос может быть сформирован не формой HTML, а клиентским кодом (XMLHttpRequest). Смотри трафик браузера, включай голову, имитируй правильные запросы.

1. Отключи JS в браузере и посмотри, будет ли работать.
2. Посмотри скрытые поля, которые почти всегда есть и иногда нужны серверу.
3. Смотри трафик браузера, делай выводы.

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB