您的位置:首页 > 理论基础 > 计算机网络

HttpClient 中的get, post使用示例

2017-03-23 11:11 330 查看
一、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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐