我尝试(http://xx/login.jsp)
使用 python 访问此页面并稍后进行一些报废。
{<form method = "post" name = "login" action = "llogin.jsp">
<input type = "text" name = "llogin" value = ""></td>
</tr>
<tr><td colspan = "2"><b>Password</b></td><td width = "50px">
<input type = "password" name = "lpasswd" value = ""></td>
</tr>
<tr><td colspan="2"></td><td>
<input type = "submit" name = "submit" value = "Login">
<input type = "reset" name = "reset" value = "Reset"></td>
</form>
</tr>
}
我写的代码(都是从 StackOverflow 借来的):
import urllib, urllib2, cookielib
username = ''
password = ''
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'llogin' : username, 'lpasswd' : password})
req=urllib2.Request('http://xx/login.jsp', login_data)
resp=urllib2.urlopen(req)
data =resp.read()
print data[:]}
它最终打印了 login.jsp 页面
form 方法有一个 lllogin.jsp 的动作参数我应该在 urllib2.Request 中输入这个链接还是 login.jsp(main link)?在放置 lllogin.jsp 时出现错误:
There was some error in the request and hence you have been logged out. Inconvenience is regretted. Click to <a href="login.jsp">re-login</a>
我如何处理这个动作字段?成功访问的页面是 http://xx/shome.jsp
我如何访问新页面并验证我的登录确实有效。?
我究竟做错了什么?
是否有可能在 web 浏览器(例如 firefox)上获取新页面(登录成功后打开)?(作为确认它确实有效)。之前使用过 webbrowser 模块,但我如何在这里集成它?
这可以在“请求”模块中完成吗?
有很多关于如何通过登录访问网页的帖子,但我找不到任何关于如何验证您确实成功完成的帖子?