2014-01-10 77 views

回答

3

您可以使用jsoup登錄到網頁。該代碼將如下所示:

Connection.Response loginForm = Jsoup.connect("https://login.to/") 
       .ignoreContentType(true) 
       .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0") 
       .referrer("http://www.google.com") 
       .timeout(12000) 
       .followRedirects(true) 
       .method(Connection.Method.GET) 
       .execute(); 

Connection.Response loginFormFilled = Jsoup.connect("https://login.to/") 
      .ignoreContentType(true) 
      .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0") 
      .followRedirects(true) 
      .referrer("https://login.to/") 
      .data("LOGON", "user")//check the form to find field name for user name 
      .data("PASSWORDS", "pass")//check the form to find field name for user password 
      .cookies(loginForm.cookies()) 
      .method(Connection.Method.POST) 
      .execute(); 
      int statusCode = loginFormFilled.statusCode(); 
      Map<String, String> cookies = loginFormFilled.cookies(); 

您應該檢查登錄時發送到服務器的內容,以填充第二個請求的數據。在這之後檢查響應碼是否爲200,這意味着成功。您也可以檢查cookie,並且應該有JSESSIONID或類似的表明您有會話,這是與用戶中的用戶進行交互的常用方式。

+0

執行代碼後,你提供瞭如何知道代碼已經工作......? – hamzahq720

+0

我已經更新了答案。 – user987339

0

根據他們home page

jsoup是一個Java庫與現實世界的HTML工作。它爲 提供了一個非常方便的API,用於提取和操作數據,使用最好的DOM,CSS和類似jquery的方法。

所以我懷疑你可以使用它提交數據到瀏覽器。

這就是說,你可能想看看Selenium(它有它自己的Java Client)。