Форум сайта python.su
Всем доброго дня.
Пытаюсь авторизироваться на сайте .
После авторизации java выводит alert:.
А вот mechanize выводит “HTTP Error 500: Internal Server Error”, grab выводит: “Bad Data.”
Код с использованием mechanize:
[code python]# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
from urllib2 import urlopen
import cookielib, shutil, os
from mechanize import Browser
br = Browser()
username = 'RULADEMO535853'
userpass = 'JbVzQ9Dg'
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_robots(False)
#br.find_control("foo").readonly = False # allow changing .value of control foo
#br.set_all_readonly(False) # allow changing the .value of all controls
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
br.open('https://www.autodata-online.net/onlineea/login/AutodataLogon.aspx')
br.select_form(nr=0)
br["ctl00$ContentPlaceHolder1$UsernameTextBox"] = username
br["ctl00$ContentPlaceHolder1$PasswordTextBox"] = userpass
response = br.submit(name='ctl00$ContentPlaceHolder1$SubmitBtn').read()
result_page = br.submit()
print "Успешно вошли как", username
print result_page
[/code]
[code python]>>> g.set_input('ctl00$ContentPlaceHolder1$UsernameTextBox', 'RULADEMO535853')
>>> g.set_input('ctl00$ContentPlaceHolder1$PasswordTextBox', 'JbVzQ9Dg')
>>> g.submit()
<grab.response.Response object at 0x151ebb0>
>>> print g.xpath_text('//title')
ERROR:root:Call to deprecated function xpath_text. Use grab.doc.select().text() instead.
ERROR:root:Call to deprecated function xpath_one. Use grab.doc.select().one() instead.
ERROR:root:Call to deprecated function xpath_list. Use grab.doc.select() instead.
Bad Data.
[/code]
Отредактировано Wojaovlad (Сен. 20, 2014 17:20:30)
Офлайн
Поздравляю, Вы нашли ошибку на сайте.
Wojaovlad
Как побороть эту проблему?
Wojaovlad
После авторизации java выводит alert
Офлайн
Обычно подобные ошибки вылазят, когда вы недостаточно хорошо эмулируете поведение браузера, смотрите логи браузера и граба и сравнивайте, проверяйте, что вы отправляете те же заголовки, тот же набор кукисов, те же post данные, проверяйте всё до каждой буквы.
Офлайн