whistle 帮助文档

260课时
737学过
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

学员评价

暂无精选评价
5分钟

host-例子

  • 端口映射

127.0.0.1:8080 www.example.com

位置可以调换,等价于:

www.example.com 127.0.0.1:8080

对于本地开发调试,往往无法只在80端口提供Web服务。如果使用传统的hosts文件方式,我们只能通过www.example.com:8080访问到本地的8080端口,使用whistle提供的端口映射功能即可很好解决这一问题。

  • CNAME

host://www.qq.com www.example.com

位置可以调换,等价于:

www.example.com host://www.qq.com

通过关键字host可以实现类似DNS的cname别名的功能,即通过域名www.example.com访问时,先访问的地址是通过解析域名www.qq.com得到的,与请求转发 www.example.com www.qq.com 不同,上面的配置不会后台收到的还是 www.example.com 的请求,而请求转发收到的是转发后url的请求。

  • 路径匹配

127.0.0.1:8080 example.com/test

位置可以调换,等价于:

example.com/test 127.0.0.1:8080

通过配置上述规则,可将example.com/test路径下的请求转发到本地的8080端口,比如请求example.com/test/a.htmlexample.com/test?a=1,但对于请求example.com/testa则不会进行转发处理。注意,使用传统的hosts语法,是将该域名下的所有请求都进行host替换处理。

  • 精确匹配

127.0.0.1:8080 $example.com/test

位置可以调换,等价于:

$example.com/test 127.0.0.1:8080

通过关键字$,只有请求example.com/test会转发到本地的8080端口,对于域名example.com外的其他请求都不会进行转发处理。

  • 正则表达式

127.0.0.1:8080 /example.com/i

位置可以调换,等价于:

/example.com/i 127.0.0.1:8080

通过配置上述规则,符合正则表达式/example\.com/i的请求,将转发到本地的8080端口进行处理,如请求example.com/index.htmlwww.example.com/index.html都将进行转发处理。

  • 通配符匹配

127.0.0.1:8080 */cgi-bin/test

位置可以调换,等价于:

*/cgi-bin/test 127.0.0.1:8080

通过配置上述规则,符合正则表达式xx.xx.xx/cgi-bin/test的请求,将转发到本地的8080端口进行处理,如请求example.com/cgi-bin/test/index.htmlwww.example.com/cgi-bin/test都将进行转发处理。

  • 组合匹配

127.0.0.1:8080 http://example.com:5555 /example.cn/i $www.example.com:6666/aa www.test.com/bb

通过配置上述规则,域名example.com:5555下的所有http请求、请求中含有example.cn的所有请求、请求www.example.com:6666/aa、路径www.test.com/bb下的所有请求,都会转发到本地的8080端口。