用whistle实现Abort请求

3,537 阅读1分钟

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