Форум сайта python.su
Как правильно реализовать авторизацию через httplib + (?) ?
Есть такой код для попытки авторизоваться на одноклассниках:
#coding=utf-8 import httplib import urllib import re tkn_re = re.compile(r"/dk\?bk=GuestMain&st\.cmd=main&tkn=([0-9]{4})") sid = re.compile(r"(SERVERID=\S+;)") headers = {} headers['User-Agent'] = "Mozilla/5.0 (X11; Linux i686; rv:10.0.6) Gecko/20100101 Firefox/10.0.6" conn = httplib.HTTPConnection("m.odnoklassniki.ru") conn.request("GET", "/", None, headers) res = conn.getresponse() tkn = tkn_re.search(res.read()).group(1) serverid = sid.search(res.getheader('Set-Cookie')).group(1) print tkn, serverid headers['Cookie'] = serverid + " BANNER_LANG=ru; community-lang=ru" params = urllib.urlencode({'fr.posted': 'set', 'fr.needCaptcha': '', 'fr.login': 'login', 'fr.password': 'pass', 'button_login': 'Войти'}) conn.request("POST", "/dk?bk=GuestMain&st.cmd=main&tkn="+tkn, params, headers) res = conn.getresponse() print res.status conn.close()
Отредактировано yss (Авг. 8, 2012 11:19:58)
Офлайн
Снова дам совет: возьми requests или grab, они для людей сделаны.
Офлайн