我正在尝试使用Python 2.7.6登录网站。登录逻辑包含2个网页中的2个步骤。
只有在B对其进行身份验证后才能成功登录。
这里有一篇帖子HTTP POST and GET with cookies for authentication in python,提出了类似的问题。解决方案正在使用请求。
import requests
url_0 = "http://www.PAGE_A.com/" # http://webapp.pucrs.br/consulta/principal.jsp, in original example
url = "http://www.PAGE_B.com/" # https://webapp.pucrs.br/consulta/servlet/consulta.aluno.ValidaAluno, in original example
data = {"field1_username": "ABC", " field_password": "123"}
s = requests.session()
s.get(url_0)
r = s.post(url, data)
我厌倦了在Python中使用它,并且它没有返回错误信息所以我猜它工作正常。
但问题是,我如何知道它已登录?
我在下面添加了打印登录页面以查看它是否返回了正确的页面。
import mechanize
br = mechanize.Browser()
open_page = br.open("http://www.PAGE_B.com/")
read_page = open_page.read()
print read_page
但是,它仍会在登录前显示内容。出了什么问题?
答案 0 :(得分:0)
与两个中的一个一起去怎么样?
import mechanize;
browser = mechanize.Browser()
browser.addheaders = [('...')]
browser.open(YOUR_URL)
browser.select_form(FORM_NAME)
browser.form['USERNAME_FIELD'] = 'abc'
browser.form['PASSWORD_FIELD'] = 'password'
browser.submit()
print browser.response().read()
print browser.geturl()