0

我尝试(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 模块,但我如何在这里集成它?

这可以在“请求”模块中完成吗?

有很多关于如何通过登录访问网页的帖子,但我找不到任何关于如何验证您确实成功完成的帖子?

4

0 回答 0