写点什么

postman 的 url 编码问题

用户头像
箭上有毒
关注
发布于: 2021 年 04 月 25 日
postman的url编码问题

在测试工作中,对 postman 应该是非常熟悉了。无论是单纯的接口测试或者自动化测试,运用都非常广泛。它简约而强大的功能让我非常喜欢。

但是,这半年以来,经常有同事会遇到使用 postman 请求接口,返回类型为 400 的错误。也是经过很长的定位时间才找到原因。原来,版本更新之后,postman 的 url 的编码方式不一样了,导致请求中的 url 里的“{”和“}”未编码,直接请求就被拒绝了,返回 400 错误。

既然找到原因了,解决方法也顺其自然可以找到。在之前的几个版本里的首页设置项中,关闭 Use next generation URL processing 配置,意思是使用旧版本的 URL 编码方式。配置位置如下图:

那么问题来了,最近 postman 又更新了。像我这种手贱的就点了升级,升级完成之后去关闭这个配置时,傻眼了。因为配置页面没有这个配置了。最新版本 v8.2.3 配置页面如下图:

问题原因既然知道,那只能找其他原因解决了。其实方法也很简单,只需要在你的请求参数中直接使用“{”和“}”的对应 url 编码就行了。他们分别对应的是 %7b 和 %7d。

这里还有一个其他的问题,我们的接口请求都是需要计算签名的。如果直接使用 %7b 和 %7d 的话,本地计算的签名和服务端的签名会不一致,导致接口请求报错“签名不合法”。只能通过 postman 的前置脚本在本地计算签名前将 url 替换成“{”和“}”。

发布于: 2021 年 04 月 25 日阅读数: 23
用户头像

箭上有毒

关注

人道是黄河十曲,毕竟东流去。 2019.09.04 加入

公众号:箭上有毒

评论

发布
暂无评论
postman的url编码问题