用whistle實現Abort請求

avenwu發表於2018-11-10

whistle是跨平臺抓包除錯工具,詳細內容參見:github.com/avwo/whistl…

在日常開發過程中,有時需要模擬Abort(中斷)請求、或主動Abort長時間沒響應的請求,如何用whistle實現Abort請求?如README裡面所述whistle的所有操作可以通過配置實現,當然在whistle中Abort請求也可以通過配置實現,基本配置方式:

pattern enable://abort
複製程式碼

也支援延遲abort

pattern enable://abort reqDelay://10000 # 延遲10s後abort
複製程式碼

其中pattern可以為域名、路徑、正則、萬用字元等,具體參見:匹配模式

例如:

https://www.test.com/xxx enable://abort reqDelay://10000
複製程式碼

上面表示 https://www.test.com/xxx 及其子路徑 https://www.test.com/xxx/... 的請求都會暫停10s後自動中斷。

通過配置中斷請求

請求被中斷後Chrome瀏覽器會自動重試幾次

用配置的方式Abort請求有個限制,必須在請求之前就配置好,對處於長時間沒響應的請求無法隨時中斷,whistle v1.13.2 版本開始支援在介面點選Abort 按鈕或通過右鍵選單中斷選中的處於處理中的請求。

  1. 通過上方選單欄 Abort 按鈕中斷選中的請求
    `Abort` 按鈕中斷選中的請求
  2. 通過右鍵選單中斷選中的請求
    右鍵選單中斷選中的請求

一般如果請求響應太快無法通過介面Abort的請求,可以通過前面的配置方式實現,如果一定要手動Abort掉,可以先設定延遲請求或響應,然後再通過介面Abort:

pattern reqDelay://12000
# 或延遲響應
pattern resDelay://12000
複製程式碼

例如:

https://www.test.com/xxx resDelay://12000
複製程式碼

最後,有問題或需求可以提issuepr

相關文章