创建工具HttpRequestUtil类:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
public class HttpRequestUtil {@SuppressWarnings({ "rawtypes", "unchecked" })public static String doPost(String url,Map<String,String> map,String charset){  HttpClient httpClient = null;  HttpPost httpPost = null;  String result = null;  try{  httpClient = new SSLClient();  httpPost = new HttpPost(url);  //设置参数  List<NameValuePair> list = new ArrayList<NameValuePair>();  Iterator iterator = map.entrySet().iterator();  while(iterator.hasNext()){  Entry<String,String> elem = (Entry<String, String>) iterator.next();  list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));  }  if(list.size() > 0){  UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);  httpPost.setEntity(entity);  }  HttpResponse response = httpClient.execute(httpPost);  if(response != null){  HttpEntity resEntity = response.getEntity();  if(resEntity != null){  result = EntityUtils.toString(resEntity,charset);  }  }  }catch(Exception ex){  ex.printStackTrace();  }  return result;  }  }

2.创建SSLClient类

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
public class SSLClient  extends DefaultHttpClient{public SSLClient() throws Exception{  super();  SSLContext ctx = SSLContext.getInstance("TLS");  X509TrustManager tm = new X509TrustManager() {  @Override  public void checkClientTrusted(X509Certificate[] chain,  String authType) throws CertificateException {  }  @Override  public void checkServerTrusted(X509Certificate[] chain,  String authType) throws CertificateException {  }  @Override  public X509Certificate[] getAcceptedIssuers() {  return null;  }  };  ctx.init(null, new TrustManager[]{tm}, null);  SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);  ClientConnectionManager ccm = this.getConnectionManager();  SchemeRegistry sr = ccm.getSchemeRegistry();  sr.register(new Scheme("https", 443, ssf));  }
}

3,需要的jar包文件:

commons-codec-1.6.jar

commons-logging-1.1.1.jar

fluent-hc-4.2.1.jar

httpclient-4.2.1.jar

httpclient-cache-4.2.1.jar

httpcore-4.2.1.jar

httpmime-4.2.1.jar

Java的HttpURLConnection通过POST请求中文乱码相关推荐

  1. java accept charset_springmvc中post请求中文乱码问题

    StringHttpMessageConverter源码: /* * Copyright 2002-2016 the original author or authors. * * Licensed ...

  2. Get,Post请求中文乱码问题有效解决方法

    对于做Java WEB项目同学来说,中文乱码问题是一个经常遇到而又非常头痛的问题,而最容易出现乱码的环节就是在浏览器向服务器发送请求的过程,至于出现乱码的原因不是本文的关注的重点,想了解的朋友可以参考 ...

  3. postmain请求中午乱码_完美解决Get和Post请求中文乱码的问题

    对于Post请求,只需在Servlet或者jsp中写入如下代码就可以把解决从表单中传入的中文乱码问题 request.setCharacterEncoding("utf-8"); ...

  4. Tomcat 中 GET方式 请求 中文乱码 出现的原因

    网上很多关于GET方式请求中文乱码的解决方案,大体类似. 这里主要讲一下Tomcat在处理URL参数过程中, 究竟是为什么会导致了GET方式请求的中文乱码. 一句话概括就是: Tomcat默认将单字节 ...

  5. Spring-解决请求中文乱码问题

    Spring-解决请求中文乱码问题 参考文章: (1)Spring-解决请求中文乱码问题 (2)https://www.cnblogs.com/andyfengzp/p/6197993.html (3 ...

  6. 【Servlet】HTTP请求中文乱码的问题

    请求中文乱码 在进行请求参数传递时,经常会遇到请求数据为中文时的乱码问题,当Form表单的文本域中输入中文时会产生乱码问题,出现乱码的原因与客户端的请求编码方式(GET请求或POST请求)以及服务器的 ...

  7. java读取.properties文件及解决中文乱码问题

    java读取.properties文件及解决中文乱码问题 参考文章: (1)java读取.properties文件及解决中文乱码问题 (2)https://www.cnblogs.com/helloq ...

  8. java用HttpURLConnection发起HTTPS请求并跳过SSL证书,解决:unable to find valid certification path to requested targ

    java用HttpURLConnection发起HTTPS请求并跳过SSL证书 问题出现:unable to find valid certification path to requested ta ...

  9. 解决get请求中文乱码问题

    在很多情况下get请求会发生中文乱码的情况,而换做post就不会,这其中的根本原因是get请求默认的是使用"iso-8859-1"编码,接下来介绍两种种解决get请求编码的方法 1 ...

最新文章

  1. ldap 高级查询 禁用_化妆水有治疗耳部疾患、痔疮等11大功效?专家表示或含禁用物质...
  2. hdu1879 继续畅通工程 最小生成树
  3. android oom 全解析
  4. 在路上---一个平凡人的2015年总结及2016年展望
  5. Ubuntu 18.x 环境下mysql创建用户并更改用户权限
  6. 在Hi3531上运行QT
  7. Electron如何调用NodeJS扩展模块
  8. 微信10个实用技巧,值得收藏!
  9. wordpress 添加小工具分类
  10. [css] 行内css和important哪个优先级高?
  11. Linux(debian)操作基础(一)之压缩、解压缩
  12. 原来程序员成长的关键竟然是它?!
  13. 辽宁职称计算机和英语考试,2018年辽宁职称计算机报考有哪些要求?
  14. ArcGIS水文分析实战教程(18) 河段桩号与线性参考
  15. python 教程 第十章、 输入/输出
  16. Fabric v2.2 单机部署 使用tape测试
  17. Mongo和Couch对比
  18. 坚果云网盘教你拥有这5个习惯 升职加薪不是梦
  19. LCP 22. 黑白方格画(排列组合)
  20. 计算机网络双语常用词汇,计算机网络协议词汇Protocols

热门文章

  1. [vue] 你有使用过JSX吗?说说你对JSX的理解
  2. [css] 你有没有自己写过一套UI库?说下遇到哪些难点?
  3. [js] 举例说明面向对象编程有什么缺点?
  4. [js] 你有使用过pjax吗?它的原理是什么?
  5. 前端学习(1888)vue之电商管理系统电商系统之在sessionStrorage中保存按钮的激活状态
  6. 前端学习(1610):hook使用
  7. 前端学习(1267):axios的post传参
  8. mybatis学习(28):获取自增id方式二(在全局中配置setting选项)
  9. 第一百五十一期:最新计算机技能需求排名出炉:Python仅排第三,第一你猜得到吗?
  10. 第十三期:你不想错过的那些JSON工具