2012-02-22 123 views
1

好吧,我在我的智慧結束。我一直在嘗試〜小時〜閱讀下面的URL到Java字符串,我不能爲我的生活做到這一點。我嘗試了一種bajillion不同的方法(所有這些方法都適用於其他網頁!)我已經在網上找到了,我正要失去理智!請幫我把這個網頁的內容以Java字符串〜:(閱讀SHOUTcast的7.html與Java

http://molestia.ponify.me:8062/7.html

答:

URL url = new URL("http://molestia.ponify.me:8062/7.html"); 
URLConnection con = url.openConnection(); 
con.setRequestProperty("User-Agent", "Mozilla/5.0"); // This bugger right here saved the day! 

Reader r = new InputStreamReader(con.getInputStream()); 
StringBuilder buf = new StringBuilder(); 

while (true) { 
    int ch = r.read(); 

    if (ch < 0) 
     break; 

    buf.append((char) ch); 
} 

String str = buf.toString(); 

Log.d("HTML", str); 

回答

1

我發現,用戶代理此頁面檢查,以確保它是一個網頁瀏覽器正在檢查這個頁面,所以你需要在你的請求頭文件中設置User-agent來獲得內容。

這裏是我使用的一個python代碼片段:

>>> import requests 
>>> headers = {'User-agent': 'Mozilla/5.0'} # fake as a browser 
>>> r = requests.get('http://molestia.ponify.me:8062/7.html', headers=headers) 
>>> print r.text 
<HTML><meta http-equiv="Pragma" content="no-cache"></head<body>81,1,200,200,72,128,Unknown - daksMusic Becoming Popular daks Remix</body></html> 
+0

你是英雄! <3我將在我的主帖中添加我用來解決這個問題的代碼片段。 – Karai17 2012-02-22 17:37:03