Найти - Пользователи
Полная версия: Авторизация на сайте, java alert, Grab/Mechanize
Начало » Python для экспертов » Авторизация на сайте, java alert, Grab/Mechanize
1
Wojaovlad
Всем доброго дня.

Пытаюсь авторизироваться на сайте .
После авторизации 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]

Код c использованием grab, вместе с выводом (писал в отладчике):

[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]

После некоторых исследований, оказалось что не из-за аллерта. Вывел страничку, на которую меня кидает после сабмита:


Как побороть эту проблему?
Alen
Поздравляю, Вы нашли ошибку на сайте.

Wojaovlad
Как побороть эту проблему?

Написать администратору сайта об найденной уязвимости. Пускай примут меры, хотя бы debug-вывод в своём ASP.NET отключат.

Wojaovlad
После авторизации java выводит alert

Всё таки javascript и java это совершенно разные вещи.
lorien
Обычно подобные ошибки вылазят, когда вы недостаточно хорошо эмулируете поведение браузера, смотрите логи браузера и граба и сравнивайте, проверяйте, что вы отправляете те же заголовки, тот же набор кукисов, те же post данные, проверяйте всё до каждой буквы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB