Postman高级应用(9):API收集神器——请求拦截

背景

前面介绍了那么多Postman的功能,都有一个前提,就是要先把API写出来。但是有些团队往往是已经把项目前后端对接完了,再来使用Postman。这时候,我们就不需要一个一个API录进去,我们可以利用Postman提供的请求拦截功能来收集API。性质跟我们平时拦请求用的Fiddler其实差不多,下面以手机APP来演示。

实战

假设我们开发了一个APP,我们要抓取这个APP的所有后端接口(一般是某个域名下的)。但现在我们换种场景,我以手机浏览器APP为例,抓取所有百度域名的请求,并保存在Postman的指定收藏夹下。

  1. 点击Postman右上角的类似电磁波图标,弹出代理设置。第一行是端口,默认5555,不需要修改。第二个是目标,可以选择History或者某个收藏夹,也就是请求要保存到哪里,这里我们选择刚创建的名为baidu的收藏夹,点Connect按钮就可以开启代理。

  2. 为了精准收集,我们进入Filters选项卡,在第一行输入baidu.com,也就是说url不包含baidu.com的我们不要。第二行是不包含的内容,例如我们排除静态资源文件可以写成.ico|.png|.jpg|.css|.js,第一个和第二个内容都支持正则表达式,而且两者并不冲突。第三个是要筛选的请求方法,可以不填。最后点Save按钮保存,设置就会立即生效。

  3. 查询电脑内网IP,Windows用户可以通过ipconfig命令查找,我这里是192.168.0.107。手机保证和电脑在同一个局域网内,手机进入wifi设置。我这里以我的小米安卓机来演示,其他品牌手机大同小异。进入已连接的wifi的详细设置,在代理那里选择手动,然后主机名填写电脑内网IP,端口填写Postman监听的端口,打勾保存。

  4. 这时候我们所有准备工作都已经完成了,只需要用手机打开浏览器,然后随意访问百度的网站,观察baidu收藏夹里API数量的变化。收集了一段时候后,我们可以看到收藏夹已经有几十条请求了,我们可以选中某条请求进行重放,也可以对它们进行编辑。

特别提醒:官网说了Postman桌面版目前暂时无法拦截 HSTS 模式的 HTTPS 请求,如果需要拦截这种类型的 HTTPS 请求,只能暂时使用Chrome版+Postman Interceptor插件的形式。还在登录同一个帐号数据可以同步,影响并不大,而且我们在测试环境调试的接口可以暂时不升级HTTPS。Postman Interceptor插件的使用非常简单,这里不再赘述。

本文只演示了安卓手机如何设置代理,其他系统的设置方法差不多。如果要拦截浏览器的请求,需要为浏览器设置代理。希望这个功能能为大家减轻API编写的工作量,提高测试效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章