我想login
使用JSOUP
进入网站,login
使用post
请求完成。
对于login
,我写了代码:
Document doc = Jsoup.connect("http://www.mysite.com/home")
.data("username", "myusername")
.data("pass", "mypassword")
.userAgent("Mozilla")
.post();
我可以重定向到网站的主页,我通过以下代码打印HTML来确认。
System.out.println(doc.html());
现在网站已经在用户login
之后制作了增强的安全功能,而不是将其重定向到主页,
他们正在重定向到要求安全问题答案的页面。
在textbox
填写答案并点击submit
按钮后,它会将用户重定向到主页。
现在,当我通过JSOUP
尝试相同的操作时,上面相同的代码会将我重定向到安全问题页面。
如何填写安全问题的答案并重定向到主页?
我怎么能做到这一点? 提前谢谢。
答案 0 :(得分:0)
按照其他人的建议下载Firebug并打开(并启用)NET面板。在您正在访问的网站上提交安全问题表单,并在Firebug中查看POST
请求。您可以像上面那样复制此请求,Jsoup应该返回结果响应。
我从未使用过Jsoup的.post()方法,但是在连接这种方式时我总是有成功的:
Document resultPage;
try {
resultPage = Jsoup.connect("http://urlHere/")
.userAgent("Whatever")
.method(Method.POST)
.execute()
.parse();
} catch (IOException e) {
//Whatever
}
希望它有所帮助!
答案 1 :(得分:0)
您可以使用隐藏的iframe加载安全问题页面并使用页面中的js填充答案,这有点复杂,因为在尝试登录之前,您还必须首先从用户那里获得安全性答案。这是可能的,但我会说它是糟糕的设计,