2602/100
Android-鐢℉ttpClient鎶撳彇html椤甸潰鍐呭
鐢ㄧ殑绫诲簱涓篶ommons-httpclient-3.1.jar.鏈夊叴瓒g殑涓嬭浇鍘汇備唬鐮佸涓:
private String getHtmlContent(final String url) {
String result = "";// 杩斿洖鐨勭粨鏋
StringBuffer resultBuffer = new StringBuffer();
// 鏋勯燞ttpClient鐨勫疄渚
HttpClient httpClient = new HttpClient();
// 鍒涘缓GET鏂规硶鐨勫疄渚
GetMethod getMethod = new GetMethod(url);
// 浣跨敤绯荤粺鎻愪緵鐨勯粯璁ょ殑鎭㈠绛栫暐
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
// getMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"GB2312");
getMethod.getParams().setContentCharset("GB2312");
try {
// 鎵цgetMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
// 娴佸紡璇诲彇
// 璇诲彇鍐呭
// byte[] responseBody = getMethod.getResponseBody();
// 澶勭悊鍐呭
// String result = new String(responseBody,"GBK");
// result = getMethod.getResponseBodyAsString();
// System.out.println(result);
// System.out.println(getMethod.getResponseCharSet());
// 鎺ㄨ崘鍋氭硶
BufferedReader in = new BufferedReader(new InputStreamReader(
getMethod.getResponseBodyAsStream(), getMethod
.getResponseCharSet()));
String inputLine = null;
while ((inputLine = in.readLine()) != null) {
resultBuffer.append(inputLine);
resultBuffer.append("\n");
}
result = new String(resultBuffer);
return result;
} catch (HttpException e) {
// 鍙戠敓鑷村懡鐨勫紓甯革紝鍙兘鏄崗璁笉瀵规垨鑰呰繑鍥炵殑鍐呭鏈夐棶棰
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
// 鍙戠敓缃戠粶寮傚父
e.printStackTrace();
} finally {
// 閲婃斁杩炴帴
getMethod.releaseConnection();
}
return result;
}