如何在接口请求发送之前添加参数

时间:2023-02-17 18:58:07


如何在接口请求发送之前添加参数


使用场景

我们可能需要在请求时发送一些参数,而这些参数是通过其他参与发送的请求参数计算而来的。举例:

接口:​​https://console.apipost.cn/need_token.php​

body请求参数如下:

参数

参数描述

user_id

用户id

nick_name

用户名

header请求参数如下:

参数

参数描述

token

由body的请求参数user_id、nick_name通过md5 加密后组成

如上面的情况,我们需要在发送前,先通过body的请求参数user_id、nick_name通过md5 加密计算得出一个token放到header里才行。如何实现这个需求呢?

我们可以通过Apipost在预执行脚本里增加请求参数来实现。

具体实现

如下图,我们已经在body里添加好了我们需要的参数。

如何在接口请求发送之前添加参数

1、计算token并赋给变量

我们接下来要做的是通过预执行脚本计算出token并添加到header参数。

先在预执行脚本里定义一个临时变量raw_token,其值由

let raw_token = $.md5(request.request_bodys.user_id.toString() + request.request_bodys.nick_name.toString());

其中的含义为:定义一个变量raw_token,其值等于

$.md5(request.request_bodys.user_id + request.request_bodys.nick_name)

注:$.md5 是APIPOST脚本内置的md5函数。更多加密函数可以看Apipost官网的使用文档。

2、动态添加请求头

apt.setRequestHeader("token", raw_token);

发送后,可以看到Apipost自动添加了一个请求头token

如何在接口请求发送之前添加参数