Форум сайта python.su
Подскажите пожалуйста почему не получается Залогиниться на mail.ru?
На C# на mail.ru авторизуюсь так:
String postData = "Password=x12345&Login=xxx&Domain=mail.ru&page=http://otvet.mail.ru/vote/"; byte[] Bytes = Encoding.UTF8.GetBytes(postData); string AdditionalHeaders = "Content-Type: application/x-www-form-urlencoded" + Environment.NewLine; webBrowser1.Navigate("https://auth.mail.ru/cgi-bin/auth", "", Bytes, AdditionalHeaders);
loginData= urllib.urlencode({ 'Domain':'mail.ru', 'Login':'xxx', 'Page':'http://otvet.mail.ru/login/?url=http://otvet.mail.ru/vote/', 'Password':'12345' cookieStore = cookielib.CookieJar() cookieOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieStore)) authPageData = cookieOpener.open('https://auth.mail.ru/cgi-bin/auth',loginData).read() fileHandle = open('auth.html', 'w') fileHandle.write(authPageData) fileHandle.close()
Офлайн
Это потому что на C# вы используйте для авторизации браузер, а в питоне просто опенером урллиба. Возможно при авторизации на майл.ру встроены какие-нибудь JS-скрипты, которые должны быть выполнены, но урллиб не умеет этого.
Если пишете какие-нибудь регеры или нечто подобное, советую посмотреть на селениум http://seleniumhq.org/ или подобные продукты
Еще есть spynner, но он сыроват.
Офлайн