URL encode Postman variable?
我使用Postman进行REST API测试和带有全局变量的参数测试。
我应该在GET请求中输入一个电话号码:
Postman中URL编码全局变量的语法是什么?是否可以在URL中的变量上运行JS
为此使用
1 | var encoded = encodeURIComponent({{phone number}}); |
或
1 | var encoded = encodeURIComponent(pm.environment.get("phone number")); |
然后使用:
1 | pm.environment.set("encoded phone number", encoded); |
并将您的URL设置为
我迟到了,但还是值得的:
只需突出显示并右键单击要编码的网址部分即可。选择
就是这样。
诀窍是在请求前脚本中获取环境变量,然后在对其进行编码后对其进行设置
1 2 | var encoded = encodeURIComponent(pm.environment.get("phone")); pm.environment.set("encoded phone number", encoded); |
这只是Mohhamad Hasham'答案的捷径。
您可以直接在"参数值"字段中进行编码和解码:
我遇到了这个问题,希望找到类似问题的答案。对我来说,变量是一个JSON对象。我需要命中的端点希望将对象列表作为查询参数,而我无法将其更改为请求正文。
尽管有一些答案有所帮助,但我最终提出了一个综合解决方案。另外,由于Postman多年来更新了他们的API,因此其他答案中给出的某些代码已过时,因此它使用适用于7.22.1的方法。
1 2 3 | pm.environment.set("basicJSON", '[{"key1":"value1","key2":"value2"},{"key1":"value1","key2":"value2"}]') var encoded = encodedURIComponent(pm.environment.get("basicJSON")) pm.environment.set("encodedJSON", encoded) |
此解决方案要求
我在查询参数中使用括号
通过关闭以下设置,它开始为我工作。
单击"参数"按钮以打开URL参数的数据编辑器。添加键值对时,Postman会将上面查询字符串中的所有内容组合在一起。如果您的URL已经有参数-例如,如果您要粘贴其他来源的URL。邮递员会自动将URL分成几对。
https://www.getpostman.com/docs/v6/postman/sending_api_requests/requests