如何在 PostMan 的预请求脚本中计算 md5 哈希值?
How to compute a md5 hash in a pre-request script in PostMan?
我必须在我的请求中设置一个参数,该参数是另外两个参数的 md5 散列。我认为预请求脚本可以完成这项工作,但我不知道如何在此脚本中计算 md5。有什么想法吗?
您可以创建以下预请求脚本,前提是您的参数是已定义的环境变量。如果它们是以其他方式定义的,您将需要调整此示例。
// Access your env variables like this
var str_1 = environment.variable_1 + environment.variable_2;
// Or get your request parameters
var str_2 = request.data["foo"] + request.data["bar"];
// Use the CryptoJS
var hash = CryptoJS.MD5(str_1 + str_2).toString();
// Set the new environment variable
postman.setEnvironmentVariable('hash', hash);
CryptoJS 之所以有效,是因为它在 Postman(以及 lodash、backbone 等)中可用。
通过 environment
对象可以轻松访问环境变量。
可通过 postman
对象设置环境变量。
在此预请求具有 运行 之后,您可以使用正常 {{hash}}
shorthand.
访问 hash
变量
另外,您可以阅读 here 关于 Postman 中可用的库、变量和属性的信息。
仅供参考,自 Postman 4.6.0+ 以来,您不能再通过 $.getScript 调用和承诺 returns 包含外部库,因为 jQuery 已贬值,取而代之的是 Cheerio 来自4.6.0.
因此,如果您希望在预请求脚本中包含第三方库,目前唯一的方法是将文件内容存储在环境变量中,然后 运行 eval()在你的脚本中 - see why here.
例如:
eval(postman.getEnvironmentVariable("JSSHA"));
然而,Postman 中包含的一些库不需要此解决方法,这些库是 listed here。
我必须在我的请求中设置一个参数,该参数是另外两个参数的 md5 散列。我认为预请求脚本可以完成这项工作,但我不知道如何在此脚本中计算 md5。有什么想法吗?
您可以创建以下预请求脚本,前提是您的参数是已定义的环境变量。如果它们是以其他方式定义的,您将需要调整此示例。
// Access your env variables like this
var str_1 = environment.variable_1 + environment.variable_2;
// Or get your request parameters
var str_2 = request.data["foo"] + request.data["bar"];
// Use the CryptoJS
var hash = CryptoJS.MD5(str_1 + str_2).toString();
// Set the new environment variable
postman.setEnvironmentVariable('hash', hash);
CryptoJS 之所以有效,是因为它在 Postman(以及 lodash、backbone 等)中可用。
通过 environment
对象可以轻松访问环境变量。
可通过 postman
对象设置环境变量。
在此预请求具有 运行 之后,您可以使用正常 {{hash}}
shorthand.
hash
变量
另外,您可以阅读 here 关于 Postman 中可用的库、变量和属性的信息。
仅供参考,自 Postman 4.6.0+ 以来,您不能再通过 $.getScript 调用和承诺 returns 包含外部库,因为 jQuery 已贬值,取而代之的是 Cheerio 来自4.6.0.
因此,如果您希望在预请求脚本中包含第三方库,目前唯一的方法是将文件内容存储在环境变量中,然后 运行 eval()在你的脚本中 - see why here.
例如:
eval(postman.getEnvironmentVariable("JSSHA"));
然而,Postman 中包含的一些库不需要此解决方法,这些库是 listed here。