HttpClient4.X发送带参数的Get请求
2016-06-06 22:46
309 查看
HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具。所用jar包为httpclient-4.3.6.jar、httpcore-4.3.3.jar、httpmime-4.3.6.jar、commons-codec-1.6.jar。
发送Get请求代码如下:
发送Get请求代码如下:
package com.zkn.newlearn.httpclient; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import com.google.common.collect.Lists; public class HttpClientTest02 { public static void main(String[] args) { CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = null; InputStream is = null; String url = "http://localhost:8080/MyWebxTest/getCityByProvinceEname.do"; //封装请求参数 List<NameValuePair> params = Lists.newArrayList(); params.add(new BasicNameValuePair("cityEname", "henan")); String str = ""; try { //转换为键值对 str = EntityUtils.toString(new UrlEncodedFormEntity(params, Consts.UTF_8)); System.out.println(str); //创建Get请求 HttpGet httpGet = new HttpGet(url+"?"+str); //执行Get请求, response = httpClient.execute(httpGet); //得到响应体 HttpEntity entity = response.getEntity(); if(entity != null){ is = entity.getContent(); //转换为字节输入流 BufferedReader br = new BufferedReader(new InputStreamReader(is, Consts.UTF_8)); String body = null; while((body=br.readLine()) != null){ System.out.println(body); } } } catch (ParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally{ //关闭输入流,释放资源 if(is != null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } //消耗实体内容 if(response != null){ try { response.close(); } catch (IOException e) { e.printStackTrace(); } } //关闭相应 丢弃http连接 if(httpClient != null){ try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树