处理application/x-www-form-urlencoded方式接口响应报文中文乱码

1.如何处理乱码

  在进行接口测试时,在用httpclient post请求时,对于Content-Type:application/json来说,在写测试脚本时只需要为头信息和post请求指定相应编码即可,一般接口响应结果不会出现中文乱码情况,但application/x-www-form-urlencoded这种方式你即使为头信息和post请求指定了相应编码,接口响应结果依然会乱码,那这个怎么处理呢?很简单,只需要将接口返回报文设置为UTF-8即可。

添加头信息:("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");

接口响应报文:response.getBody()

String result = new String(response.getBody().getBytes("ISO-8859-1"),"UTF-8");

2.常用的发送请求的数据格式

(1).application/x-www-form-urlencoded

  在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 下边是说明: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
  form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

(2)application/json

  这个Content-Type作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的JSON字符串

时间: 2024-11-09 02:21:15

处理application/x-www-form-urlencoded方式接口响应报文中文乱码的相关文章

application/x-www-form-urlencoded接口响应报文中文乱码

1.如何处理乱码 在进行接口测试时,在用httpclient post请求时,对于Content-Type:application/json来说,在写测试脚本时只需要为头信息和post请求指定相应编码即可,一般接口响应结果不会出现中文乱码情况,但application/x-www-form-urlencoded这种方式你即使为头信息和post请求指定了相应编码,接口响应结果依然会乱码,那这个怎么处理呢?很简单,只需要将接口返回报文设置为UTF-8即可. 添加头信息:("Content-Type&

get方式请求会出现中文乱码。post方式不会。

如果是要解决get方式中文乱码问题,就需要做一个拦截器,或者在web.xml做一个get请求的配置 来自为知笔记(Wiz)

java微信 客服接口-发消息 中文乱码

来源:http://blog.csdn.net/sxmfendou/article/details/53432390 /** * 向指定 URL 发送POST方法的请求 * * @param url *            发送请求的 URL * @param param *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式. * @return 所代表远程资源的响应结果 */ public static String sendPost

form编码方式application/x-www-form-urlencoded和multipart/form-data的区别

https://www.cnblogs.com/mengff/p/7282488.html form元素有个enctype属性,可以指定数据编码方式,有如下三种: 1. application/x-www-form-urlencoded: 表单数据编码为键值对,&分隔 2. multipart/form-data: 表单数据编码为一条消息,每个控件对应消息的一部分 3. text/plain: 表单数据以纯文本形式进行编码 详细说明: form的enctype的编码方式,常用有两种: appli

Sharepoint 2010配置form认证方式(SQL账号)

Sharepoint 2010配置form认证方式(SQL账号) 一.准备工作: 1.首先我们创建我们form认证中所需要的数据库. 找到aspnet_regsql.exe,一般在C:\Windows\Microsoft.NET下,根据操作系统进行选择.因为本人是win2008 R2x64,所以打开目录为C:\Windows\Microsoft.NET\Framework64\v2.0.50727 2.双击运行后,点击下一步,然后选择为应用程序配置sql server,如图: 3.填写,服务器名

WebApi接口 - 响应输出xml和json

格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点赞谢谢: . 自定义一个Action,响应输出集合数据 . api返回json数据的两种方式 . json时间格式处理方式 . 让api接口支持返回json和xml数据 下面一步一个脚印的来分享: . 自定义一个Action,响应输出集合数据 首先,我们新建一个webapi项目,新建好以后我们能够找

JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题

本文主要讲springMVC中视图和控制器之间常用的两种传递参数的方式: 1.JQuery 2.JSON 一.JQuery方式 思路:单击按钮后,触发JQuery事件,而提交整个表单 JSP中 <script type="text/javascript"> function addUser(){ var form=document.form[0]; form.action="/springMVC/user/data/addUser"; form.meth

SpringMVC系列(三)JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题

本文主要讲springMVC中视图和控制器之间常用的两种传递参数的方式: 1.JQuery 2.JSON 一.JQuery方式 思路:单击按钮后,触发JQuery事件,而提交整个表单 JSP中 <script type="text/javascript"> function addUser(){ var form=document.form[0]; form.action="/springMVC/user/data/addUser"; form.meth

Java接口响应超时监控

为什么要监控 服务化接口是提供服务的,接口正确性.稳定性是最最重要的,在保证正确的同时需要尽量提高接口响应时间. 有的团队会有专门的工具来对系统响应时间.吞吐量做监控,但如果团队没有这种"待遇"就需要自己来做一些工具为自己的代码提供服务. 自己动手,丰衣足食 AOP + Annotation 简陋实现,能达到目的 AOP : 使用环绕方式对接口拦截,在拦截接口前后记录时间最后计算用时 Annotation : 自定义注解在接口上设置超时时间(timeout)和超时是否发送邮件选项(em