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編寫的工作量,提高測試效率。

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