美文网首页
在postman脚本中进行urlencode编码

在postman脚本中进行urlencode编码

作者: Lacia | 来源:发表于2019-02-26 11:13 被阅读0次

进行urlencode编码

在进行接口测试的过程中,一部分接口的参数需要做urlencode编码,如果将传输的参数直接编码进行发送,就无法灵活的修改参数了,也不能灵活使用环境变量。于是想在postman的Pre-request Script中先用参数化的变量拼接报文,然后再进行urlencode编码。

一点尝试

一开始使用encodeURI()方法,发现编码出来的报文不对,百思不得其解,为什么在postman的地址框中进行urlencode就可以,但是在Pre-request Script中用这个方法给报文编码出来格式就不对呢?


uriencode1.png
两点尝试

改为使用encodeURIComponent()方法,发出的请求对了,这是为啥呢???

不停求索

百度一下,得知encodeURI()的不编码字符和encodeURIComponent()不同:

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

所以用encodeURI方法处理请求之后,:;=?等符号没有经过编码,导致请求失败。

总结
  • 编码整个url然后使用这个url—>encodeURI()
  • 编码url中的参数—>encodeURIComponent()

相关文章

网友评论

      本文标题:在postman脚本中进行urlencode编码

      本文链接:https://www.haomeiwen.com/subject/bvtayqtx.html