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 参数变成这样不知道为什么乱码了 展开
_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 参数变成这样不知道为什么乱码了 展开
1个回答
展开全部
楼主这不是乱码,这是字符转义,浏览器将地址栏参数的特殊字符自动转义。
追问
这回影响我的请求么 我手动登陆 为啥没有转义呢
追答
你好,并不影响,你可以用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 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询