httpclient post请求带参数返回数据乱码问题解决
客户端代码:
//带参数的post请求
@Test
public void doPostWithParam() throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
//创建一个post对象
HttpPost post = new HttpPost("http://localhost:8082/httpclient/post.action");
//模拟一个表单
List<NameValuePair> kvList = new ArrayList<NameValuePair>();
kvList.add(new BasicNameValuePair("username", "张三"));
kvList.add(new BasicNameValuePair("password", "123"));
//包装成一个Entity对象(后面加字符集是为了向服务端发送数据时不会乱码)
StringEntity paramEntity = new UrlEncodedFormEntity(kvList,"utf-8");
//设置请求内容
post.setEntity(paramEntity);
//执行post请求
CloseableHttpResponse response = httpClient.execute(post);
HttpEntity rtnEntity = response.getEntity();
String string = EntityUtils.toString(rtnEntity, "utf-8");
System.out.println(string);
response.close();
httpClient.close();
}
服务端Controller代码:
//mapping后面加produces是为了返回数据给接口调用者时不会乱码
@RequestMapping(value="/httpclient/post",method=RequestMethod.POST,
produces=MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")
@ResponseBody
public String testPost(String username,String password) {
String result = "username: "+username + "\tpassword: "+password;
System.out.println(result);
return result;
}
httpclient post请求带参数返回数据乱码问题解决的更多相关文章
- httpclient发送不带参数post数据
		两个问题: 1.httpclient怎样发送一个没有不论什么參数的post数据呢? 2.Webproject怎样去接收一个无參数的post呢? 起因: 今天(2014.1 ... 
- 使用new Image()可以针对单单请求,不要返回数据的情况
		使用new Image()可以针对单单请求,不要返回数据的情况,比如我这里写了一个Demo,请求百度的Logo一个示例: <html> <head> </head> ... 
- 使用HttpClient实现对第三方服务器的请求并接受返回数据
		/* * 创建日期 2017-4-7 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ package com.enfo.int ... 
- Java后端发出post请求带参数并接收返回的json
		核心代码: 参数格式: “key1=value1&key2=value2” /*** sendUrl (远程请求的URL)* param (远程请求参数)* JSONObject ... 
- charles技能之修改请求参数/返回数据(map Local、Rewrite、Breakpoints)
		之前一直用postman调接口比较多,但有时候想要去修改APP的页面展示,造数据又会比较麻烦,此时可以用以下三种方法修改请求参数或修改响应: map Local(本地映射).Breakpoints(打 ... 
- axios 跨域请求允许带cookie,则服务器Access-Control-Allow-Origin应设置为具体域名,否则请求无法获得返回数据
		1.通过允许跨域访问实现了跨域请求,但为了使每个请求带上session信息,我设置了withCredentials ,即: axios.defaults.withCredentials = true ... 
- java 接口中模拟浏览器 请求webservice 接受返回数据
		使用HttpClient 所需jar:commons-codec-1.9.jar,commons-httpclient-3.1.jar try { HttpClient client = new Ht ... 
- 论httpclient上传带参数【commons-httpclient和apache httpclient区别】
		需要做一个httpclient上传,然后啪啪啪网上找资料 1.首先以前系统中用到的了commons-httpclient上传,找了资料后一顿乱改,然后测试 PostMethod filePost = ... 
- Fiddler -工具使用介绍(附:拦截请求并修改返回数据)(转)
		一.Fiddler 介绍 Fiddler 是一个使用 C# 编写的 http 抓包工具.它使用灵活,功能强大,支持众多的 http 调试任务,是 web.移动应用的开发调试利器. 1,功能特点 同 H ... 
随机推荐
- lesson 23 one man's meat is another man's poison
			lesson 23 one man's meat is another man's poison delicacy n. 美味:佳肴: delicious adj. 美味的:可口的 关于虚拟语气: I ... 
- 拓扑排序 (Ordering Tasks UVA - 10305)
			题目描述: 原题:https://vjudge.net/problem/UVA-10305 题目思路: 1.依旧是DFS 2.用邻接矩阵实现图 3.需要判断是否有环 AC代码 #include < ... 
- [转载]CENTOS 6.0 iptables 开放端口80 3306 22端口
			原文地址:6.0 iptables 开放端口80 3306 22端口">CENTOS 6.0 iptables 开放端口80 3306 22端口作者:云淡风轻 #/sbin/iptab ... 
- Linux内核设计笔记14——块I/O层
			块I/O层 基本概念 系统中可以随机访问固定大小数据片的硬件设备称做块设备,这些固定大小的数据片称之为块.还有一种基本的设备称之为字符设备,其需要按照顺序访问,比如键盘. 扇区:块设备中最小的寻址单元 ... 
- 自测之Lesson14:多线程编程
			题目:创建一个线程,并理清主线程结束时会发生什么. 代码: #include <stdio.h> #include <pthread.h> #include <unist ... 
- Beta完结--感想及吐槽
			Beta冲刺结束啦!!! Beta冲刺结束啦!!! Beta冲刺结束啦!!! 这时候每个人的心情肯定都是非常激动的.随着Beta冲刺的结束,折磨了我们一整个学期的软工实践也差不多结束了.(实在是太不容 ... 
- 关于PHP使用GD库生成的验证码无法在别处显示
			https://segmentfault.com/q/1010000002522270 
- 将MathType公式转换为LaTex格式
			LaTex编辑公式不够直观,常常会因为结构复杂导致数据或者符号出错,使用MathType编辑公式后再直接转换成LaTex代码可以避免这个问题. 一.首先在MathType中编辑公式 二.然后点击参数— ... 
- iOS- iOS 和 Android 的后台推送原理各是什么?有什么区别?
			iOS 的推送iOS 在系统级别有一个推送服务程序使用 5223 端口.使用这个端口的协议源于 Jabber 后来发展为 XMPP ,被用于 Gtalk 等 IM 软件中.所以, iOS 的推送,可以 ... 
- 微信小程序wx.pageScrollTo的替代方案
			wx.pageScrollTo这个微信小程序的api功能如下: 简而言之就是实现页面滚动的.但是在实际应用当中显得有些鸡肋,为啥呢?使用中有明显页面有明显的抖动,这无疑是极不好的用户体验.我用的华为6 ... 
