whistle 帮助文档

260课时
731学过
8分

3. 命令行操作

4. 手动更新

9. 匹配原则

13. 注意事项

14. 常见问题

16. 协议列表

协议列表

@ 功能

设置UI样式

设置hosts

设代理

延迟请求

修改请求URL

修改请求方法

修改请求头

延迟响应

修改请求内容

修改响应状态码

修改响应头

修改响应内容

过滤配置

启用或禁用一些配置

获取抓包数据

动态设置规则

开发调试工具

@

host

保留传统的hosts语法规则

灵活强大的whistle匹配模式

host-例子

host-过滤规则

响应规则列表

请求替换

请求替换-过滤规则

file (xfile)

file (xfile)-过滤规则

xfile

xfile-过滤规则

tpl

tpl-过滤规则

xtpl

rawfile

rawfile-过滤规则

xrawfile

自定义

style

style-过滤规则

pipe

pipe-过滤规则

44 plugin

plugin-过滤规则

weinre

weinre-过滤规则

log

log-快速上手

不同页面 log 切换

嵌入自定义脚本

log-过滤规则

proxy(http-proxy)

proxy(http-proxy)-过滤规则

https-proxy

https-proxy-过滤规则

socks

socks-过滤规则

pac

pac-过滤规则

filter (excludeFilter includeFilter)

filter (excludeFilter includeFilter)-例子

ignore

ignore-配置规则

ignore-忽略规则

enable

enable-过滤规则

disable

disable-过滤规则

delete

delete-过滤规则

urlParams

urlParams-过滤规则

pathReplace

pathReplace-过滤规则

method

method-过滤规则

statusCode

statusCode-过滤规则

replaceStatus

replaceStatus-过滤规则

referer

referer-过滤规则

auth

auth-过滤规则

ua

ua-过滤规则

cache

cache-过滤规则

redirect

redirect-过滤规则

attachment

attachment-过滤规则

forwardedFor-过滤规则

responseFor

responseFor-过滤规则

reqMerge

reqMerge-例子

reqMerge-过滤规则

resMerge

resMerge-例子

resMerge-过滤规则

reqScript (reqRules)

reqScript (reqRules)-静态规则列表

reqScript (reqRules)-通过脚本动态设置规则

reqScript (reqRules)-过滤规则

resScript (resRules)

resScript (resRules)-静态规则列表

resScript (resRules)-通过脚本动态设置规则

resScript (resRules)-过滤规则

reqDelay

reqDelay-过滤规则

resDelay

resDelay-过滤规则

reqSpeed

reqSpeed-过滤规则

resSpeed

resSpeed-过滤规则

reqType

reqType-过滤规则

resType

resType-过滤规则

reqCharset

reqCharset-过滤规则

resCharset

resCharset-过滤规则

reqCookies

reqCookies-过滤规则

resCookies

resCookies-过滤规则

reqCors

reqCors-过滤规则

resCors

resCors-过滤规则

reqHeaders

reqHeaders-过滤规则

resHeaders

resHeaders-过滤规则

reqPrepend

reqPrepend-过滤规则

resPrepend

resPrepend-过滤规则

reqBody

reqBody-过滤规则

resBody

resBody-过滤规则

reqAppend

reqAppend-过滤规则

resAppend

resAppend-过滤规则

headerReplace

headerReplace-过滤规则

reqReplace

reqReplace-过滤规则

resReplace

resReplace-过滤规则

htmlPrepend

htmlPrepend-过滤规则

cssPrepend

cssPrepend-过滤规则

jsPrepend

jsPrepend-过滤规则

htmlBody

htmlBody-过滤规则

cssBody

cssBody-过滤规则

jsBody

jsBody-过滤规则

htmlAppend

htmlAppend-过滤规则

cssAppend

cssAppend-过滤规则

jsAppend

jsAppend-过滤规则

reqWrite

reqWrite-过滤规则

resWrite

resWrite-过滤规则

reqWriteRaw

reqWriteRaw-过滤规则

resWriteRaw

resWriteRaw-过滤规则

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
4分钟

快速上手-实例

  1. 设置hosts

指定www.ifeng.com的ip:

www.ifeng.com 127.0.0.1

or

127.0.0.1 www.ifeng.com

指定www.ifeng.com的ip和端口,把请求转发到本地8080端口,这个在平时开发中可以用来去掉url中的端口号:

www.ifeng.com 127.0.0.1

www.ifeng.com 127.0.0.1:8080

or

127.0.0.1:8080 www.ifeng.com

也可以用某个域名的ip设置hosts

www.ifeng.com host://www.qq.com:8080

or

host://www.qq.com:8080 www.ifeng.com

更多匹配模式参考:匹配模式

  1. 本地替换

平时开发中经常会用到这个功能,把响应替换成本地文件内容。

Mac、Linux

www.ifeng.com file:///User/username/test

or www.ifeng.com file:///User/username/test/index.html

Windows的路径分隔符可以用 \ 或者 /

www.ifeng.com file://E:\xx\test

or www.ifeng.com file://E:\xx\test\index.html

http://www.ifeng.com/会先尝试加载/User/username/test这个文件,如果不存在,则会加载/User/username/test/index.html,如果没有对应的文件则返回404。

http://www.ifeng.com/xxx会先尝试加载/User/username/test/xxx这个文件,如果不存在,则会加载/User/username/test/xxx/index.html,如果没有对应的文件则返回404。

也可以替换jsonp请求,具体参见tpl

更多匹配模式参考:匹配模式

  1. 请求转发

www.ifeng.com域名下的请求都替换成对应的www.aliexpress.com域名

www.ifeng.com www.aliexpress.com

更多匹配模式参考:匹配模式

  1. 注入html、js、css

whistle会自动根据响应内容的类型,判断是否注入相应的文本及如何注入(是否要用标签包裹起来)。

Mac、Linux

www.ifeng.com html:///User/xxx/test/test.html

www.ifeng.com js:///User/xxx/test/test.js

www.ifeng.com css:///User/xxx/test/test.css

Windows的路径分隔符可以用\/

www.ifeng.com html://E:\xx\test\test.html

www.ifeng.com js://E:\xx\test\test.js

www.ifeng.com css://E:\xx\test\test.css

所有www.ifeng.com域名下的请求,whistle都会根据响应类型,将处理好的文本注入到响应内容里面,如是html请求,js和css会分别自动加上scriptstyle标签后追加到内容后面。

更多匹配模式参考:匹配模式

  1. 调试远程页面

利用whistle提供的weinre和log两个协议,可以实现修改远程页面DOM结构及自动捕获页面js错误及console打印的信息,还可以在页面顶部或js文件底部注入指定的脚步调试页面信息。

使用whistle的功能前,先把要相应的系统代理或浏览器代理指向whistle,如何设置可以参考:安装启动

weinre:

www.ifeng.com weinre://test

配置后保存,打开www.ifeng.com,鼠标放在菜单栏的weinre按钮上会显示一个列表,并点击其中的test项打开weinre的调试页面选择对应的url切换到Elements即可。

log:

www.ifeng.com log://{test.js}

配置后保存,鼠标放在菜单栏的weinre按钮上会显示一个列表,并点击其中的test.js项,whistle会自动在Values上建立一个test.js分组,在里面填入console.log(1, 2, 3, {a: 123})保存,打开Network -> 右侧Log -> Page,再打开www.ifeng.com,即可看到Log下面的Page输出的信息。

更多匹配模式参考:匹配模式

  1. 手机设置代理

iOS:

iOS

Android:

Android

更多功能请参考:协议列表