2015-02-06 40 views
0
public HTMLReader(String abc) throws IOException 
    {  
      URL url = new URL(abc); 

      URLConnection con = url.openConnection(); 
      InputStream is =con.getInputStream(); 


      BufferedReader br = new BufferedReader(new InputStreamReader(is)); 

      String line = null; 

      while ((line = br.readLine()) != null&& (exit==false)) 
      { 
       System.out.println(line); 
      } 
    } 

以上是一個簡單的java代碼,可以讀取網站給定網址的html代碼。假設給定的是一個Hotmail網址https://col130.mail.live.com/default.aspx。 當我厭倦閱讀該網址的html代碼時,即使我已經登錄到我的Hotmail電子郵件,它仍會給我Hotmail登錄頁面的html代碼。Java - 從註冊的網站讀取HTML代碼

有什麼我應該做的,以便能夠閱讀我的電子郵件頁面的HTML代碼已登錄?謝謝。

+0

您正在閱讀所提供的URL的內容。 – 2015-02-06 05:09:30

+0

當你說「你已經登錄」時,這意味着你的瀏覽器有cookie。 Java使用它自己的環境,並沒有該cookie。即使是其他瀏覽器也不會登錄。您需要在程序中進行身份驗證,但我不知道hotmail的api是什麼。通過類推,cURL提供了一種對apache認證系統進行認證的方法...... – Sebas 2015-02-06 05:09:46

回答

0

您已通過您的brwoser登錄(我猜)。瀏覽器使用cookie保存您的登錄信息。你的程序不知道這些cookies,所以你什麼都看不到。

那麼你能做什麼?
您可以使用您的登錄數據向頁面發送所謂的「POST請求」。這不是別的,如果你輸入你的登錄數據並點擊提交按鈕。 帖子請求基於鍵值對。這意味着你有一個密鑰,例如「密碼」和一個值,例如「MyPassw0rd2846」。
有一個名爲「請求製造商」的Chrome插件,您可以看到發送的任何POST或GET請求。
有關如何執行POST請求的信息,請參閱this或僅適用於Google。

如果您有更多問題,只是問, 托比亞斯