#coding=utf-8 import httplib import urllib import re conn = httplib.HTTPConnection("m.odnoklassniki.ru", 80) headers = {} headers['User-Agent'] = "Mozilla/5.0 (X11; Linux i686; rv:10.0.6) Gecko/20100101 Firefox/10.0.6" headers['Accept'] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" conn.request("GET", "/", None, headers) res = conn.getresponse() tkn = re.search(r"/dk\?bk=GuestMain&st\.cmd=main&tkn=([0-9]{4})", res.read()).group(1) sid = re.search(r"SERVERID=(\S+);", res.getheader('Set-Cookie')).group(1) headers['Cookie'] = "SERVERID=%s; BANNER_LANG=ru; community-lang=ru" % (sid) print tkn, sid params = urllib.urlencode({"fr.posted": "set", "fr.needCaptcha": "", "fr.login": "admin", "fr.password": "pass", "button_login": "Войти"}) conn.request("POST", "/dk?bk=GuestMain&st.cmd=main&tkn=%s" % (tkn), params, headers) res = conn.getresponse() print res.read() print res.status print res.getheaders() conn.close()
SERVERID считывает, токен тоже, но почему-то не авторизовывается. Пробовал написать авторизацию для других сайтов - все ок, а тут - ничуть не бывало.