使用 postman 接口测试并自动生成签名

mervyn 2017年7月16日21:58:21Tools评论222


Postman是chrome 的一款插件, 现在单独可以作为一个软件进行下载,主要用于做接口请求测试,无论是前端,后台还是测试人员,都可以用 postman 来测试接口,用起来非常方便。文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

在实际开发过程中,很多接口都会采用各种加密手段来保证接口的安全性。比如根据接口参数生成一个签名,在请求此接口的时候需要将此签名传递到后端。文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

在测试过程中,理想的情况是我们只需要变更提交的参数即可,而不是要我们每次调用接口时手动计算签名。而postman这款神器恰恰能满足我们的需求。文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

在postman实际调用接口前,可以执行自定义js,从而实现数据签名文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

自定义JS可以获取到请求参数、链接参数,并且可以自定义变量文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

假设现在后端需要进行如下加密校验:文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

<?php
$appKey = "abcde";
$requestBody = file_get_contents('php://input');
$sign = md5($_GET['app_id'].$appKey.$_GET['ver'].$appKey . $requestBody);
if ($sign == $_GET['sign']) {
    echo "校验通过";
} else {
    echo "校验不通过";
}

我们需要通过postman自动生成对应签名并在请求时传递到后端文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

修改Pre-request Script

选择pre-request Script 输入如下内容:文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

var app_id = postman.getGlobalVariable("app_id");
var ver = postman.getGlobalVariable("ver");
var salt = postman.getGlobalVariable("app_key");
var postBody = request.data
var param = app_id + salt  + ver + postBody;
var sign = CryptoJS.MD5(param, {
    asString: true
  });
postman.setGlobalVariable('sign',sign);

在 url 上的参数有些不同,{{app_id}},{{ver}},{{sign}} 默认去读取当前环境变量中相同的变量的值,如果当前环境变量中没有则去读取全局变量中对应的值。文章源自编程技术分享-https://mervyn.life/f9e68bc7.html

weinxin
我的微信公众号
微信扫一扫
mervyn
新入手的Mac需要做的事 Tools

新入手的Mac需要做的事

最近换了一个mac设备,又折腾了一遍各种环境,顺便记录下mac设置需要修改的配置和必要的软件。系统设置系统偏好设置-> 通用 -> 显示滚动条 -> 始终系统偏好设置-> 通用...
使用 markdown 画流程图、时序图 Tools

使用 markdown 画流程图、时序图

在日常工作中,难免会画一些流程图、时序图。之前都是选择使用在线的画图网站,画完然后截图插入到文档。我个人用的比较多的主要是 腾讯文档 。 相较于截图的方式,代码画图都有哪些好处呢? 使用比较轻便。 不...
Git 常用命令速查表 Tools

Git 常用命令速查表

由于之前一直用sourceTree 对Git的项目进行操作,对 Git 的命令行操作不是很熟。最近切换到了 vsocde 结合remote ssh 插件来开发项目(强烈推荐),个人觉得 vscode ...
PHPStorm 更改 PHP 版本号 Tools

PHPStorm 更改 PHP 版本号

PHPStorm 默认的 PHP 版本是 5.4, 当我们用服务器使用的是 PHP7 时,经常会出现语法错误的提示,这个时候需要将 PHPStorm 中的 PHP 版本进行修改才行。操作步骤如下: P...
更新Github中Fork的代码 Tools

更新Github中Fork的代码

但我们在使用Github的时候,看到觉得不错的项目时,通常会进行 star 或者 fork 操作。 fork 时会将对方的代码同步到我们自己的Github仓库中。但是当我们 fork 了别人的代码以后...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: