http post请求 用Fiddler 抓包 参数是如下图

params{"oper":"GgfwCommonAction.getUserInfo","params":{},"datas":{}}_isModeltrue参数就这两... params {"oper":"GgfwCommonAction.getUserInfo","params":{},"datas":{}}
_isModel true
参数就这两个
自身请求是_isModel=true¶ms={"oper":"GgfwCommonAction.getUserInfo","params":{},"datas":{}}这样
我请求_isModel=true¶ms=%7B%22oper%22%3A%22GgfwCommonAction.getUserInfo%22%2C%22params%22%3A%7B%7D%2C%22datas%22%3A%7B%7D%7D 参数变成这样不知道为什么乱码了
展开
 我来答
好学慎思
2017-01-13 · TA获得超过218个赞
知道答主
回答量:43
采纳率:0%
帮助的人:43.9万
展开全部
楼主这不是乱码,这是字符转义,浏览器将地址栏参数的特殊字符自动转义。
追问
这回影响我的请求么  我手动登陆 为啥没有转义呢
追答
你好,并不影响,你可以用IE浏览器打开百度,随便搜索
abc{}中文
然后观察地址栏这个参数

wd=abc%7B%7D%E4%B8%AD%E6%96%87
abc不是特殊字符所以不需要转义,然后你看到{和}被转成了%7B和%7D
中文2字被转成%E4%B8%AD和%E6%96%87。
字符转义的编码格式需要看页面使用的是什么编码,例如utf-8下一个中文是3个字节,所以你会看到% + 2个16进制字符代表一个字节,那就是有3个%
但是像{}这种特殊字符属于ASCII,utf8下也是用一个字节存储。

楼主我再补充你一点知识
正常来说国内页面常用的编码有这几种,gb2312、gbk和utf-8,像ASCII字符转义都是一个字节的,所以不会出现乱码,这是浏览器自动完成的你不需要理会,但是你要注意的是万一你的参数中带有中文,如果你页面使用的是utf-8编码,浏览器就会用utf-8编码转义你的字符发送给服务端,你服务端接受参数的时候不是使用utf-8编码来反转义,那么你就会得到一个乱码的参数。
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式