URL编码Postman变量?

gav*_*koa 23 postman

我使用Postman进行REST API测试,并使用全局变量对测试进行参数化.

我应该将电话号码放入GET请求中:/path/get?phone={{phone}}但是+电话号码的前导登录被解释为空格.

在Postman中对URL编码全局变量的语法是什么?是否可以encodeURIComponent()在URL中的变量上运行JS ?

Moh*_*ham 61

我迟到了,但仍然值得:

只需突出显示并右键单击要编码的 url 部分。选择encodeURIComponent

就是这样。

在此处输入图片说明

  • 问题是关于变量,即像 {{define_someplace_else}} 这样的东西。您不能像这样对它们进行编码,因为需要编码该变量内部的值,而不是变量引用。 (5认同)
  • 这是最好的办法。 (2认同)

Sha*_*das 32

使用Pre-request scripts(它的旁边body)为此:

var encoded = encodeURIComponent({{phone number}});
Run Code Online (Sandbox Code Playgroud)

并将您的网址设置为 /path/get?phone={{encoded phone number}}

  • @Eric打开Postman控制台(菜单->视图->显示Postman控制台/Ctrl+Alt+C),您将看到带有“编码电话号码”的请求路径。 (2认同)

sam*_*mwa 6

诀窍是在预请求脚本中获取您的环境变量,然后在对其进行编码后进行设置

    var encoded = encodeURIComponent(pm.environment.get("phone"));
    pm.environment.set("encoded phone number", encoded);
Run Code Online (Sandbox Code Playgroud)


pme*_*pme 6

只是 Mohhamad Hasham 答案的捷径。

您可以直接在 Params Value 字段中进行编码和解码: 在此处输入图片说明

  • @gavenkoa,你是对的 - 我被对我有帮助的流行答案误导了。 (2认同)