HTTP 请求之PostMan 中文乱码分析

本文探讨了使用Postman提交中文请求出现乱码的问题,通过Wireshark进行数据包分析,发现乱码可能源于Content-Type设置不正确。解决方案包括设置Content-Type为`application/x-www-form-urlencoded; charset=UTF-8`,以及注意Tomcat的编码配置。同时,文章还提到了HTTP请求头的常见应用。
部署运行你感兴趣的模型镜像

1.概述

最近在测试接口时,发现通过页面提交中文是正常的,Postman 提交的中文就乱码,为了搞清楚具体问题,使用wireshark分别对不同的请求方式进行了数据包分析。

2 Wireshark抓取 本地Localhost 的方法

我们都知道wireshark 是通过网卡进行 抓包的,而localhost (127.0.0.1) 比较特殊。属于本地回环地址。不经过网卡,那么怎么抓包呢。下面就如何抓包进行总结。

  借助第三方工具RawCap.exe  抓取 pcap 包。

  下载地址:https://www.netresec.com/index.ashx?page=RawCap

  使用方法:

cd 到 RawCap.exe 所在目录

执行:
.\RawCap.exe 127.0.0.1 localhost_capture.pcap

也可以直接执行 RawCap.exe 通过 控制台的方式选择网络接口

 生成的数据包如图。

3 wireshark 数据包分析

   使用wireshark 打开pcap 包。

 过滤http 请求

可以根据数据包大小排序,然后查看报文。

选择要查看的报文,右键选择追踪流- HTTP流。

 通过对比报文头,报文体信息,可以分析具体差异在哪里。

4 请求头问题

POST 请求下,容易造成乱码的就是Content-Type , 需要注意Content-Type 的值。

当Content-Type : application/x-www-form-urlencoded  时,没有加字符编码,容易导致乱码。

正确写法为:Content-Type : application/x-www-form-urlencoded ; charset=UTF-8

本次后端还使用了字符集过滤器,但是没有设置Content-Type时, Postman 请求还是会发生乱码。

5  Tomcat 设置编码问题

Tomcat 设置编码URIEncoding 并不能解决 post 方式的请求,但可以解决get 方式的请求,但是这种方法不是很推荐,最好统一使用过滤器处理。

6 返回数据乱码

返回数据乱码通常是没有设置响应头类型,加上 Content-Type: text/html; charset=utf-8 即可。

7  Http 请求头常用说明

application/json:消息主体是序列化后的 JSON 字符串

application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式

 multipart/form-data: 需要在表单中进行文件上传时,就需要使用该格式。常见的媒体格式是上传文件之时使用的

 text/plain:数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。

 application/x-www-form-urlencoded:是Jquery的Ajax请求默认方式,目前大部分浏览器支持的也是这种方式。

当action为get时候,客户端把form数据转换成一个字串append到url后面,用'?'分割。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。

您可能感兴趣的与本文相关的镜像

Anything-LLM

Anything-LLM

AI应用

AnythingLLM是一个全栈应用程序,可以使用商用或开源的LLM/嵌入器/语义向量数据库模型,帮助用户在本地或云端搭建个性化的聊天机器人系统,且无需复杂设置

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值