public String getResponseBody(String url){
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(url);
//这里加或者不加都可以,看情况定
method.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
method.getParams().setParameter(HttpMethodParams.SO_TIMEOUT,5000);
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
int statusCode = client.executeMethod(method);
if(statusCode != HttpStatus.SC_OK){
System.err.println("Method failed: " + method.getStatusLine());
}
byte[] responseBody = method.getResponseBody();
String str = new String(responseBody);
//或者用以下方式获取结果(2)
//String str2 = method.getResponseBodyAsString();
//或者用以下方式获取结果(3)
//InputStream is = getMethod.getResponseBodyAsStream();
//String returnStr = convertStreamToString(is);
return str;
}catch(HttpException e){
System.err.println("Fatal protocol violation: " + e.getMessage());
e.printStackTrace();
}catch(IOException e){
System.err.println("Fatal transport error: " + e.getMessage());
e.printStackTrace();
}finally{
method.releaseConnection();
}
return null;
}
public String convertStreamToString(InputStream is)
throws UnsupportedEncodingException {
BufferedReader reader = new BufferedReader(new InputStreamReader(is,
"UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}