推薦2個工具

5.1假期第二天,依然窩在家裏,不過今天來客了,我的好朋友「曉哥」來看小寶,中午喝了點,各自「吹噓」了一陣,聊聊各自職業的發展,工作中遇到的問題,以及對未來的規劃。

他現在發展的特別好,在一家近千人開發的公司,主管北京地區的業務,包括需求洽談、研發、項目推進和驗收等,公司業務是爲多家銀行做app端,和我分享了他在管理上的一些經驗,真心爲他高興,祝越來越好。

話題一轉,說說今天的主角:2個工具,一個是抓包工具Charles,一個是API調試工具Postman。前幾天,嘗試使用Charles抓取Websocket的消息,折騰了好久才成功,Postman也一樣,安裝了app版本,也遇到了一些問題,想把過程分享給需要的朋友。

Charles

Charles是一個HTTP代理/HTTP監視器/反向代理,它允許開發人員查看他們的機器和Internet之間的所有HTTP和SSL/HTTPS通信,包括請求、響應和HTTP頭(包含cookie和緩存信息)。

基本原理就是將自己作爲代理服務器,瀏覽器、手機app等客戶端進行代理設置,配置成Charles監聽的端口,客戶端將請求發給Charles,Charles再將請求發送給真正服務器,結果返回時,由Charles轉發給瀏覽器、手機等客戶端。

下面說明各種協議的請求抓取,環境如下:

  • 使用Android手機作爲客戶端,模擬發送各種請求;
  • 在Mac電腦上安裝Charles應用程序,作爲代理服務器;
  • 抓取小米商城app的各種請求;
  • 保證Android、Mac連接同一個網絡;
配置

第一步,Charles代理設置,只要設置下端口即可:

打開代理設置

代理端口設置

第二步,配置手機Wifi代理(每個手機不同):

手機代理設置

選擇手動代理,主機名爲mac的ip地址,端口號爲第一步配置的端口,配置完成後,mac端會提示允許接入,選擇Allow即可:

是否允許接入

這樣小米商城app的一些請求,就可以查看到了:

小米商城請求

抓取HTTPS請求

要抓取HTTPS請求,需要配置證書,過程如下:

第一步,在mac上安全charles根證書:

mac上安裝根證書

第二步,保存charles根證書爲cer格式,發送到手機,安裝證書:

保存根證書

安裝完成後,可以在安全設置中查看到這個證書:

安裝後的證書

第三步,開啓SSL代理

打開ssl代理設置

ssl代理設置

這樣設置之後,就可以抓取https請求了,內容也不會亂碼了:

抓取https請求

抓取Websocket請求

3.11版本之後,開始支持websocket抓取,如下:

推薦2個工具

不知道什麼原因,使用上面wifi代理配置,無法抓取到websocket請求,查了很多文章都沒有成功,最後,看到一句話:有些協議不會經過wifi代理,就想到使用全局代理app,應該會支持websocket協議,最後驗證是可以的。

我選擇了drony代理app,使用其他代理app應該也可以,首先,配置代理服務器,和之前類似:

進入setting選項卡,選擇Wi-Fi:

Wi-Fi選項

找到使用的網絡名,點進去設置,設置爲charles的地址地址和端口:

Drony網絡設置

這樣設置後,就可以抓取到websocket請求了:

抓取websocket請求

其他功能介紹

還可以提供以下功能,這裏就不展開說了,網上也有很多資料:

  • 模擬慢速網絡;
  • 修改網絡請求內容,多次發送請求;
  • 給服務器做壓力測試;
  • Map功能,可以將app請求到測試環境;
  • Breakpoints功能,當指定的網絡請求發生時,Charles會截獲該請求,可以在Charles中臨時修改網絡請求的返回內容;

感興趣的可以查看這篇文章瞭解:傳送門

Postman

Postman是一種網頁調試與發送網頁http請求的應用,可以用來很方便的模擬get或者post或者其他方式的請求來調試接口。

之前一直使用Chrome app版本,最近這個版本不維護了,提示使用應用程序版本,這個工具使用比較簡單,我就說說我覺得比較棒的功能。

環境管理

系統都有測試環境和線上環境,請求url肯定不一樣,一些參數也可能不一樣,可以通過切換不同的環境,動態變化,這樣只需配置一次url和參數即可。

環境管理1

環境管理2

環境管理3

通過上面的設置,就可以在url配置中使用環境變量了:

環境管理5

Collections

可以保存我們的請求,不用打開都重新設置請求地址和參數了:

Collections

工作空間

新版本提供了工作空間的功能,可在不同的項目中切換:

工作空間

抓取瀏覽器的請求

可以自動映射到參數、cookie信息,對應需要登錄後調用的接口,可以現在瀏覽器登錄,通過抓取,就可以自動設置cookie信息了。

第一步,Postman開啓代理端口:

開啓代理端口

第二步,瀏覽器設置代理爲第一步開啓的端口:

瀏覽器設置代理

我使用瀏覽器插件SwitchyOmega進行了設置,這樣在瀏覽器中訪問網站,就會在Postman的History中顯示了:

抓取的請求

歡迎掃描下方二維碼,關注我的個人微信公衆號,分享我的工作、學習和生活 ~

情情說

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