如何在 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