2016-04-23 34 views
0

得到DOM查看HTML頁面時,即時通訊獲得頁面不能與Jsoup

public void getHtml() throws IOException { 
    String html = Jsoup.connect("http://vp.by/").get().html(); 
    System.out.println(html); 
} 

Jsoup返回我

<html> 
<head></head> 
<body></body> 
</html> 

我怎樣才能獲得完整的頁面的DOM看法? (網站如google.com,facebook.com正常進入)

+0

Jsoup.connect()返回文檔。這個班級應該給你你需要的一切。 Document.toString()應該爲您提供字符串中的HTML。 – RaviU

+0

@Raviu我照你說的做了 Document doc = Jsoup.connect(「http://vp.by/」).get(); System.out.println(doc.toString()); 但它仍然返回一個空的DOM –

回答

0

這裏的問題是vp.by正在做一些事情來檢測它認爲不合法的瀏覽器請求的奇怪連接。例如,如果你使用curl -v -X GET http://vp.by,你將得到一個沒有內容的200 OK響應。添加User-Agent頭部,我們可以更好地模擬一個有效的基於瀏覽器的請求。

嘗試以下方法:

public void getHtml() throws IOException { 
    String html = Jsoup 
      .connect("http://vp.by/") 
      .userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36") 
      .get().html(); 
    System.out.println(html); 
}