2014-10-01 51 views
0

我試圖模擬一個網站的自動登錄行爲,並在使用Java庫中的Prowser庫登錄後廢棄HTML。使用Java中的Prowser自動登錄到網頁

的代碼片段:

<br> 
Prowser prowser = new Prowser();<br> 
Tab tab = prowser.createTab();<br> 
Request request;<br> 
String html ="";<br> 
try {<br> 
    request = new Request("http://username:[email protected]");<br> 
    Response response = tab.go(request);<br> 
    html = response.getPageSource();<br> 
} catch (Exception e) {<br> 
    e.printStackTrace();<br> 
}<br> 
System.out.println(html);<br> 

有了這個代碼,我能夠登錄並放棄了HTML,如果我的用戶名不包含 @。但是,如果用戶名是一個emailId,那麼這不起作用,並返回null。

任何建議如何使用這個庫時,我的用戶名有 @在它。或任何其他圖書館適合我想要做的。

謝謝。

回答

0

我相信你使用%40(它是@)對它進行URL編碼。服務器應該能夠正確解碼,但當然......這取決於服務器的實現。

+0

而這個Java代碼將會是'URLEncoder.encode(username)' – 2014-10-01 03:52:12

+0

您好邁克,感謝您的建議。 'sphreg.asiaone.com/RegAuth2/enLogin.html'這是我正在嘗試登錄的頁面,但在編碼之後也沒有奏效。 – Mudit 2014-10-01 04:05:11

+0

您是隻編碼用戶名還是編碼整個URL字符串?我建議的代碼是'request = new Request(「http://」+ URLEncoder.encode(「username」)+「:[email protected]」);' – 2014-10-01 04:07:12