HttpClient4.X发送带参数的POST请求

来源:互联网 发布:javascript数组排序 编辑:程序博客网 时间:2024/05/16 16:57

HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具。所用jar包为httpclient-4.3.6.jar、httpcore-4.3.3.jar、httpmime-4.3.6.jar、commons-codec-1.6.jar。

发送Post请求代码如下:

package com.zkn.newlearn.httpclient;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.List;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import com.google.common.collect.Lists;/** *  * @author zkn 2016-06-05 * */public class HttpClientTest01 {   public static void main(String[] args) {//创建HttpClient对象CloseableHttpClient closeHttpClient = HttpClients.createDefault();CloseableHttpResponse httpResponse = null;//发送Post请求HttpPost httpPost = new HttpPost("http://localhost:8080/MyWebxTest/getCityByProvinceEname.do");//设置Post参数List<NameValuePair> params = Lists.newArrayList();params.add(new BasicNameValuePair("cityEname", "henan"));try {//转换参数并设置编码格式httpPost.setEntity(new UrlEncodedFormEntity(params,Consts.UTF_8));//执行Post请求 得到Response对象httpResponse = closeHttpClient.execute(httpPost);//httpResponse.getStatusLine() 响应头信息System.out.println(httpResponse.getStatusLine());//返回对象 向上造型HttpEntity httpEntity = httpResponse.getEntity();if(httpEntity != null){//响应输入流InputStream is = httpEntity.getContent();//转换为字符输入流BufferedReader br = new BufferedReader(new InputStreamReader(is,Consts.UTF_8));String line = null;while((line=br.readLine())!=null){System.out.println(line);}//关闭输入流is.close();}} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(httpResponse != null){try {httpResponse.close();} catch (IOException e) {e.printStackTrace();}}if(closeHttpClient != null){try {closeHttpClient.close();} catch (IOException e) {e.printStackTrace();}}}}}

0 0
原创粉丝点击