一、Get
示例代码
public static void test_httpClient_get(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/testget“;
httpClient = new DefaultHttpClient();
//连接超时设置,单位毫秒
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
//读取超时, 单位毫秒
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
String param1 = "param_";
String param2 = "param2";
//如果不需要传递参数,直接使用 HttpGet httpGet = new HttpGet(url)即可。
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("param1", param1));
list.add(new BasicNameValuePair("param2", param2));
String getParams = EntityUtils.toString(new UrlEncodedFormEntity(list, HTTP.UTF_8));
HttpGet httpGet = new HttpGet(url + "?" + getParams);
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
Charset respCharset = ContentType.getOrDefault(entity).getCharset();
String respData = EntityUtils.toString(entity, respCharset);
//此处还可以根据状态判断返回值,略
renderText(respData);
} else {
renderText("entity is null");
}
}catch (Exception e) {
e.printStackTrace();
renderText("error" + e.toString());
} finally {
if (httpClient != null){
httpClient.getConnectionManager().shutdown();
}
}
}
二、Post
示例代码
public static void test_httpClient_post(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/“;
httpClient = new DefaultHttpClient();
//连接超时设置,单位毫秒
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
//读取超时, 单位毫秒
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
String param1 = "post_param1";
String param2 = "post_param2";
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("param1", param1));
list.add(new BasicNameValuePair("param2", param2));
HttpPost httpPost = new HttpPost(url);
//如果不带参数,以下可略
HttpEntity paramEntity = new UrlEncodedFormEntity(list, "UTF-8");
httpPost.setEntity(paramEntity);
//执行
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
//状态,该状态可用于判断,此处略
System.out.println("resp_status:" + httpResponse.getStatusLine().getStatusCode());
Charset respCharset = ContentType.getOrDefault(entity).getCharset();
String respData = EntityUtils.toString(entity, respCharset);
renderText("status:" + httpResponse.getStatusLine().getStatusCode() + "\r\n" + respData);
} else {
renderText("entity is null");
}
}catch (Exception e) {
e.printStackTrace();
renderText("error" + e.toString());
} finally {
if (httpClient != null){
httpClient.getConnectionManager().shutdown();
}
}
}