在Java中使用Prowser自动登录网页
我试图模拟一个网站的自动登录行为,并在使用Java中的库登录后删除HTML 代码片段:在Java中使用Prowser自动登录网页,java,Java,我试图模拟一个网站的自动登录行为,并在使用Java中的库登录后删除HTML 代码片段: <br> Prowser prowser = new Prowser();<br> Tab tab = prowser.createTab();<br> Request request;<br> String html ="";<br> try {<br> request = new Request("http://usernam
<br>
Prowser prowser = new Prowser();<br>
Tab tab = prowser.createTab();<br>
Request request;<br>
String html ="";<br>
try {<br>
request = new Request("http://username:password@www.gmail.com");<br>
Response response = tab.go(request);<br>
html = response.getPageSource();<br>
} catch (Exception e) {<br>
e.printStackTrace();<br>
}<br>
System.out.println(html);<br>
Prowser Prowser=new Prowser()
Tab Tab=prowser.createTab()
请求
字符串html=“”
试试{
请求=新请求(“http://username:password@www.gmail.com”);
响应=制表符转到(请求);
html=response.getPageSource();
}捕获(例外e){
e、 printStackTrace();
}
System.out.println(html)
使用此代码,如果我的用户名不包含@,我可以登录并删除HTML。但如果username是emailId,那么它将不起作用并返回null
当我的用户名中有@时,如何使用此库的任何建议。或任何其他适合我尝试做的图书馆
谢谢。我相信您可以使用%40(即@)对其进行URL编码。服务器应该能够正确解码,但是当然。。。这取决于服务器的实现。这方面的Java代码是
urlcoder.encode(用户名)
Hi Mike,谢谢你的建议。”sphreg.asiaone.com/RegAuth2/enLogin.html“这是我尝试登录的页面,但编码后也不起作用。您是只对用户名进行编码还是对整个URL字符串进行编码?我建议的代码是request=newrequest(“http://”+urlcoder.encode(“用户名”)+”:password@www.gmail.com");代码>是的,也是这样做的。但它只需要我登录页面,而不是登录。和废弃的HTML一样,它为我的登录页面提供了HTML。好吧,浏览器(和Prowser)所做的就是获取用户名和密码,并在“授权”标题中对其进行Base64编码。因此,您可以尝试在请求中添加一个值为“Basic”+Base64.encode(“username:password”)