0
我有一個項目需要通過互聯網得到livescores結果。經過研究,我發現我可以從http://iphone.livescore.com/iphone.dll?gmt=0.0得到比分。 然後,我寫了一個簡單的應用程序,從上面的url得到迴應。但問題是我寫的代碼讓結果工作不穩定。有時它會返回url的正文,因爲瀏覽器顯示不正確,在我的應用程序中,它會顯示帶有人類無法讀取的字符的未知字符串。從HttpResponse讀取正文返回在java中不穩定?
在這裏我的代碼,可以有人可以給我一個建議?
private String getURLContent(String url) {
StringBuffer stringBuffer = new StringBuffer();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200) {
InputStream inputStream = response.getEntity().getContent();
InputStreamReader reader = new InputStreamReader(inputStream,
"UTF-8");
int ch;
while ((ch = reader.read()) > -1) {
stringBuffer.append((char) ch);
}
reader.close();
}
} catch (ClientProtocolException e) {
log.fatal(e);
} catch (IOException e) {
log.fatal(e);
}
return stringBuffer.toString();
}
你確定內容是UTF-8編碼? – 2013-03-05 01:49:08
你不需要解碼嗎 'String result = URLDecoder.decode(url,「UTF-8」);'' – Bizmarck 2013-03-05 01:53:04