使用机械化的受密码保护的站点

时间:2012-06-17 08:01:45

标签: python authentication mechanize mechanize-python

我想使用mechanize访问way2sms,这是一个受密码保护的网站。

import mechanize
br = mechanize.Browser()
br.open('http://site2.way2sms.com/content/index.html')
for form in br.forms():
     print form

给出了这个

<loginform POST http://site2.way2sms.com/content/index.html application/x-www-form-urlencoded
<IgnoreControl(button2=<None>)>
<TextControl(username=Mobile Number)>
<PasswordControl(password=******)>
<SubmitControl(button=Login) (readonly)>>

然后我做了这个

br.select_form(nr = 0)
br.form['username']= 'My mobile'
br.form['password'] = 'Password'
br.submit()
br.response().read()

这会在登录后提供页面的html,但如何在登录前获取该页面。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

查看页面源代码:他们在提交表单时进行一些javascript验证,在替换表单操作期间,机械化显然不会这样做,您必须在提交表单之前手动执行此操作。 / p>

答案 1 :(得分:0)

使用此:

import mechanize
br = mechanize.Browser()
br.open('http://site2.way2sms.com/content/index.html')
print br.response().read()