使用postman+tornado模拟get/post请求参数时分号(;)无法解析问题

springboot+swagger的Java项目里某产品发布接口因为调试问题想要重写到python项目里,语言一家亲嘛,逻辑一切顺利,但是遇到了部分参数无法解析的问题.

请求:

后台接收参数:

打印结果:

可以发现参数key;后面的参数获取不到了,因为和前端约定好字段要使用;分割,到后台再切割使用.

查阅资料发现;

属于特殊字符,postman会以为;为请求分隔结束符号,从而只能获取;前的数据参数.

但是在Swagger上测试没问题,是因为Swagger会自动对特殊字符转义.

扫描二维码关注公众号,回复: 5039337 查看本文章

解决办法:

一开始在header中加charset没有作用,现在的解决办法是先把包含特殊字符的参数在UrlEncode编码工具中编码再复制到Postman中就可以了.

如果只需要对;进行urlencode编码,记住%3b就行了,;url编码结果是%3b,所以请求可以直接这么写:

后台接收打印结果:

这样就解决了~

猜你喜欢

转载自blog.csdn.net/harry5508/article/details/85277371