client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 1000000);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 1000000);
HttpPost post = new HttpPost(url);
NameValuePair rq = new BasicNameValuePair("rq", requestObj.toString());
BasicNameValuePair data_type = new BasicNameValuePair("type", req_type);
NameValuePair sid = new BasicNameValuePair("sid", "web123");
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(rq);
list.add(sid);
list.add(data_type);
StringEntity entity = new UrlEncodedFormEntity(list, HTTP.UTF_8);
post.setEntity(entity);
HttpResponse res = client.execute(post);
String respStr = EntityUtils.toString(res.getEntity(),HTTP.UTF_8);
this.inputStream = new ByteArrayInputStream(respStr.toString().getBytes("utf-8"));
return SUCCESS;

方式二:

 //1、URL对象创建一个应用程序与url之间链接urlconnection对象
URL connectUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) connectUrl.openConnection();
//2、设置属性
//post请求必须设置的两个
conn.setDoInput(true);
conn.setDoOutput(true);
//设置属性
conn.setUseCaches(false);
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
//打开与url之间的连接
conn.connect();
//如果使用URLconnection既要读取输入流 又要传参数 那么一定要先使用输出流 在使用输入流
//getOutputStream 中包含了connect 也就是说使用了getoutputStream的时候connect可以不写
OutputStream os = conn.getOutputStream();
//设置编码 防止到服务端出现中文乱码
OutputStreamWriter ow = new OutputStreamWriter(os, HTTP.UTF_8);
PrintWriter pw = new PrintWriter(ow,true);
//之前所有的参数只是写入写出流的缓存中并没有发送到服务端,执行下面这句话后表示将参数信息发送到服务端
pw.println("rq="+requestObj.toString()+"&sid=web123&type="+req_type);
pw.flush();
//获取服务端返回的信息
InputStream is = conn.getInputStream();
//设置编码 防止读取到的数据乱码
BufferedReader br = new BufferedReader(new InputStreamReader(is,HTTP.UTF_8)); String line = null;
String respStr = "";
while((line=br.readLine())!=null){
respStr+=line;
}
this.inputStream = new ByteArrayInputStream(respStr.toString().getBytes("utf-8"));
return SUCCESS;

在服务端接收到requestObj.toString()中文乱码 可用在创建Entity时指定编码  StringEntity entity = new UrlEncodedFormEntity(list, HTTP.UTF_8);

在返回的数据中也出现了中文乱码 可使用EntityUtils.toString指定字符编码     String respStr = EntityUtils.toString(res.getEntity(),HTTP.UTF_8);

HttpPost (URLConnection)传参数中文乱码的更多相关文章

  1. springmvc框架下ajax请求传参数中文乱码解决

    springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord( ...

  2. 关于url传参中文乱码问题

    之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...

  3. 详解get请求和post请求参数中文乱码的解决办法

    首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...

  4. jsp页面间传递参数 中文乱码问题(zz)

      jsp页面间传递参数 中文乱码问题 1.传递参数 var url = "*****Test.jsp?param1="+encodeURI(encodeURI(str));//对 ...

  5. soapUI参数中文乱码问题解决方法 (groovy脚本中文乱码)

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  6. 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)

    前述:      在写这篇笔记之前,对笔记中的设计模式进行介绍:      本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式           (1)装饰(包装)设计模式口诀:         ...

  7. java web项目get,post请求参数中文乱码解决

    [转载]原文地址:https://www.cnblogs.com/tom-plus/p/6392279.html 在开发过程中,有时候会碰到get,post请求参数中文乱码. 原因: Http请求传输 ...

  8. 解决get方法提交参数中文乱码问题:

    解决get方法提交参数中文乱码问题: 1找到你们的tomcat的目录 2在这个目录下面\tomcat61-32\tomcat61\conf 3找到server.xml ,用notepad打开(没有就下 ...

  9. 解决Fiddler查看Post参数中文乱码的问题

    解决Fiddler查看Post参数中文乱码的问题 解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Micro ...

随机推荐

  1. 查看tomcat启动文件都干点啥---Catalina.java

    在前一章查看tomcat启动文件都干点啥---Bootstrap.java中我们得出结论,在Bootstrap中通过反射调用Catalina类中的getServer,start,stop,stopSe ...

  2. Docker 限制容器资源

     默认情况下,容器没有资源的限制,它可以使用整个主机的所有资源.Dcoker提供了控制资源的方法,  多少内存,CPU,IO,都可以在docker run使用标志符来设置.   内存 Docker可以 ...

  3. DIV相对于父DIV底部对齐的实现方法

    代码如下 <style type="text/css"> .box1 {border:1px #cccccc solid; width:500px; height:60 ...

  4. GDI+重绘笔记

    有的控件不能重载 OnPaint,设置 ControlStyles.UserPaint = true即可 //如果为 true,控件将自行绘制,而不是通过操作系统来绘制. //如果为 false,将不 ...

  5. 2015年度新增开源软件排名TOP100

    2015年度新增开源软件排名TOP100 本榜单包含2015年开源中国新收录的软件中,根据软件本身的关注度.活跃程度进行排名前100名的软件.从这份榜单中或许可以了解到最新业界的趋势. 1.Switc ...

  6. phonegap(cordova) 自己定义插件代码篇(三)----支付宝支付工具整合

    建议读者,先阅读官方文档,知晓其支付流程之后再来使用此代码,比方客户须要做什么,服务端须要做什么(非常重要!非常重要! 非常重要!),由于这几个篇幅都是纯代码篇,由于阅读前面的入门篇之后看这些应该毫无 ...

  7. HDFS怎样检測并删除多余副本块

    前言 在HDFS中,每时每刻都在进行着大量block块的创建和删除操作,这些庞大的block块构建起了这套复杂的分布式系统.普通block的读写删除操作一般人都或多或少了解过一些,可是过量的副本清理机 ...

  8. (二)关于jQuery

    jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是“write Less, ...

  9. RF常用库简介(robotframework)

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

  10. 介绍JSON

    0x00 介绍JSON 介绍JSON :http://www.json.org/json-zh.html Introducing JSON :http://www.json.org/