Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2011 21:18:17

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Аутентификация паролем в urllib2

Установил Firebug, посмотрел заголовки, сделал так:

#!/usr/bin/python
import urllib,urllib2

url = 'http://python.su/forum/login.php?action=in'
data = urllib.urlencode({'login' : 'grok', 'password' : 'mypass'})

headers = {'Host' : 'python.su',
'User-Agent' : 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.04 (lucid) Firefox/3.6.13',
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language' : 'ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding' : 'gzip,deflate',
'Accept-Charset' : 'windows-1251,utf-8;q=0.7,*;q=0.7',
'Keep-Alive' : '115',
'Connection' : 'keep-alive',
'Referer' : 'http://python.su/forum/login.php'
}

request = urllib2.Request(url, data, headers)
handle = urllib2.urlopen(request)
print handle.info().get('Set-Cookie')
text = handle.read()
f = "/home/adv/python/pass"
fopen = open(f, "w")
fopen.write(text)
fopen.close()
Поправил скрипт.. куков в заголовках нет.. Авторизация не проходит =(



Отредактировано (Янв. 20, 2011 10:46:57)

Офлайн

#2 Янв. 19, 2011 21:21:32

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Аутентификация паролем в urllib2

А вы посмотрите на куки, которые вы отправляетет в запросе. Там уже есть сессия punbb и скорей всего она просто не ставится новая при повторном логине.



Офлайн

#3 Янв. 20, 2011 10:50:43

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Аутентификация паролем в urllib2

Александр Кошелев
А вы посмотрите на куки, которые вы отправляетет в запросе. Там уже есть сессия punbb и скорей всего она просто не ставится новая при повторном логине.
Сорри, но вчера уже поздним вечеров посмотрел не в ту сторону, т.е. не в post запрос, а уже на ответ сервера… (поправил скрипт выше) Поэтому и куки действительно не менялись. Но теперь авторизация снова не проходит. В чём же может быть дело? Заголовки верные, логин и пароль тоже.. Есть ли у кого какие соображения??



Офлайн

#4 Янв. 20, 2011 12:54:09

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Аутентификация паролем в urllib2

Решил-таки свою проблему, это если кому интересно, да и может такому же ламу, как и я, пригодится, через замечателную библиотеку mechanize по совету вот из этой темы следующим образом:

from mechanize import Browser

login_url = 'http://python.su/forum/login.php?action=in'

user_name = 'my_user_name'
password = '*****'

br = Browser()
br.open(login_url)
br.select_form(nr=0)
br['req_username'] = user_name
br['req_password'] = password
resp = br.submit()
Это конечно все хорошо, но все же внутренности таким методом никак не “пощупаешь”..
Спасибо всем, кто откликнулся =))))



Отредактировано (Янв. 20, 2011 12:55:48)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version