`
- 浏览:
1920603 次
- 性别:
- 来自:
北京
-
用httpclient4.x 发送http get post请求 中文编码问题
- <pre name="code" class="java">package org.ibmp.gmp.util;
-
- import java.io.IOException;
- import java.io.UnsupportedEncodingException;
- import java.net.URI;
- import java.net.URISyntaxException;
- import java.net.URLEncoder;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
-
- import org.apache.http.HttpEntity;
- import org.apache.http.HttpResponse;
- import org.apache.http.NameValuePair;
- import org.apache.http.ParseException;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpGet;
- import org.apache.http.client.methods.HttpPost;
- import org.apache.http.entity.StringEntity;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.protocol.HTTP;
- import org.apache.http.util.EntityUtils;
-
- public class HttpClientUtil {
-
- private static HttpClient httpClient = new DefaultHttpClient();
-
- /**
- * 发送Get请求
- * @param url
- * @param params
- * @return
- */
- public static String get(String url, List<NameValuePair> params) {
- String body = null;
- try {
- // Get请求
- HttpGet httpget = new HttpGet(url);
- // 设置参数
- String str = EntityUtils.toString(new UrlEncodedFormEntity(params));
- httpget.setURI(new URI(httpget.getURI().toString() + "?" + str));
- // 发送请求
- HttpResponse httpresponse = httpClient.execute(httpget);
- // 获取返回数据
- HttpEntity entity = httpresponse.getEntity();
- body = EntityUtils.toString(entity);
- if (entity != null) {
- entity.consumeContent();
- }
- } catch (ParseException e) {
- e.printStackTrace();
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- return body;
- }
-
- /**
- * 发送 Post请求
- * @param url
- * @param reqXml
- * @return
- */
- public static String post(String url, String reqXml) {
- String body = null;
- try {
- //设置客户端编码
- if (httpClient == null) {
- // Create HttpClient Object
- httpClient = new DefaultHttpClient();
- }
- httpClient.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8);
- httpClient.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8);
- httpClient.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8);
- httpClient.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET,HTTP.UTF_8);
- // Post请求
- HttpPost httppost = new HttpPost(url);
- //设置post编码
- httppost.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8);
- httppost.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8);
- httppost.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8);
- httppost.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET, HTTP.UTF_8);
-
- // 设置参数
- List<NameValuePair> params = new ArrayList<NameValuePair>();
- params.add(new BasicNameValuePair("$xmldata", reqXml));
- httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
- // StringEntity entity1 = new StringEntity(getUTF8XMLString(reqXml), "UTF-8");
- // entity1.setContentType("text/xml;charset=UTF-8");
- // entity1.setContentEncoding("UTF-8");
- // httppost.setEntity(entity1);
- //设置报文头
- httppost.setHeader("Content-Type", "text/xml;charset=UTF-8");
- // 发送请求
- HttpResponse httpresponse = httpClient.execute(httppost);
- // 获取返回数据
- HttpEntity entity = httpresponse.getEntity();
- body = EntityUtils.toString(entity);
- if (entity != null) {
- entity.consumeContent();
- }
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- } catch (ClientProtocolException e) {
- e.printStackTrace();
- } catch (ParseException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return body;
- }
- /**
- * 根据样式格式化时间
- * "yyyyMMdd"
- * "yyyyMMddHHmmss"
- * "yyyyMMddHHmmssssssss"
- * @param dateFormat
- * @return
- */
- public static String getnowDate(String dateFormat)
- {
- SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
- return sdf.format(new Date());
- }
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
帮助程序员快速从Apache的HttpClient 3.x升级到HttpClient 4.x
2013-11-21 15:31 292,890 httpclient-4.0.2.jar 2017-12-20 12:08 351,132 httpclient-4.1.1.jar 2012-08-03 01:45 451,595 httpclient-4.1.2-sources.jar 2012-08-03 01:44 352,254 httpclient-4.1.2.jar 2012-08-...
httpclient的用法,发送get请求和post请求,设置header
利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。
HttpClientUtil工具类发送get和post请求,支持http和https,支持发送文件
HttpClient(用CloseableHttpClient发送get/post请求)
http请求工具类HttpClientUtil,get,post请求(csdn)————程序
一个简单的易学的 基于HttpClient 4.3发送psot及get请求,返回数据,适合初学者,适合初学者
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
HttpPost httpPost = new HttpPost(url); StringEntity stringEntity = new StringEntity(params, Charset.forName("UTF-8")); httpPost.setHeader("Content-type", "application/json"); httpPost.setEntity...
Apache_HttpClient4.x简明教程高清PDF版.pdf Apache_HttpClient4.x简明教程高清PDF版.pdf
HttpClient模拟http发送post和get请求
import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....
httpclient 4.x 与httpclient3.x已经有很大的区别 该资源简单可用 需要下载最新的httpclient4.1.1包及相关的资源包即可使用
含tutorial,commons-logging-1.1.1, commons-codec-1.4-bin.zip, httpcomponents-client-4.0.3-bin.zip, httpcomponents-core-4.1-bin.zip
本代码是httpclient发送get请求和post请求demo,具体描述参考博客 HttpClient发送get请求和post请求
httpclient4.3.x和其依赖jar包。
HttpClient发送http请求(post+get)需要的jar包+内符java代码案例+注解详解(这款工具类是我精心挑选适合广大java程序猿使用)
mfc http post 和get 请求
JAVA Apache_HttpClient4.x简明教程高清PDF版.pdf