Python:机械化

Python:机械化,python,django,mechanize,Python,Django,Mechanize,我的问题很简单,我正在使用mechanize模块登录一个网站,但如何确定用户是否成功登录。例如 br = open("http://xyz.com/signin") br['login'] = xxxx br['password'] = xxx result = br.submit().read() f = open('s.html', 'w') f.write(result) f.close 现在,若登录信息为true,则s.html将包含下一个重定向页面,若信息为false,则将包含错误

我的问题很简单,我正在使用mechanize模块登录一个网站,但如何确定用户是否成功登录。例如

br = open("http://xyz.com/signin")
br['login'] = xxxx
br['password'] = xxx
result = br.submit().read()
f  = open('s.html', 'w')
f.write(result)
f.close

现在,若登录信息为true,则s.html将包含下一个重定向页面,若信息为false,则将包含错误页面。现在,如何找出用户名和密码对用户来说是正确的……提前感谢您,您必须查看您收到的页面内容

如果它有字符串

登录失败


或者类似的,那么你知道它失败了

如果登录成功,它通常会重定向到不同的页面,否则它将保留在同一页面上,并显示错误消息

你可以用这样的东西

if br.geturl()==("https://address of the page after login"):
        print "SUCCESS"

您可以使用
br.geturl()
并在登录时检查它是否是URL。假设是
xyz.com/welcome

为什么要将响应保存在文件中?您可以在读取状态代码后测试响应变量,您可以更深入地解释,因为我是第一次尝试,您似乎正在打开文件,你应该使用br.open,这里有详细说明:基本上删除你所拥有的,然后从我刚才给你的链接开始。谢谢你的帮助……但是使用这个登录方法,我可以通过编写一个algo来破解用户名已知的人的密码。它传递可能的密码组合,以及我如何加快这一过程,但如果我有数千次这样的登录,那么这将成为一种浪费时间的方法……还有,为什么我写br=open(“)时无法登录facebook它给出了一些错误你别无选择,只能检查返回的页面,看看登录是否有效。你认为你还能做什么?因为facebook的登录在其主页上,所以我写它的方式与错误毫无疑问与facebook使用的robots.txt相关。这可以通过br.set\u handle\u robots(False)修复