- 协议列表
- @ 功能
- 设置UI样式
- 设置hosts
- 设代理
- 延迟请求
- 修改请求URL
- 修改请求方法
- 修改请求头
- 延迟响应
- 修改请求内容
- 修改响应状态码
- 修改响应头
- 修改响应内容
- 过滤配置
- 启用或禁用一些配置
- 获取抓包数据
- 动态设置规则
- 开发调试工具
协议列表
为了尽可能满足web开发中方方面面的需要,whistle提供基本上覆盖抓包调试工具可以做的所有事情的对应协议,按功能可以分以下类别,大家可以按需查找:
有关协议的优先级及匹配情况参见:匹配原则
@ 功能
- @ (用于功能扩展及引入远程规则)
设置UI样式
- style (设置抓包列表样式)
设置hosts
- host (设置host)
设代理
- proxy(http-proxy) (代理到其它http代理服务器)
- https-proxy (代理到其它https代理服务器)
- socks (代理到其它socks代理服务器)
- pac (设置pac脚本)
延迟请求
- reqDelay (延迟请求)
- reqSpeed (限制请求速度)
修改请求URL
- urlParams (修改请求url的参数)
- reqMerge (修改请求参数)
- pathReplace (通过正则或字符串替换请求url,类似str.replace)
修改请求方法
- . method (修改请求方法)
修改请求头
- . referer (修改请求referer)
- auth (修改请求用户名密码)
- ua (修改请求user-agent)
- forwardedFor (修改请求头x-forwarded-for)
- reqHeaders (修改请求头)
- reqType (修改请求类型)
- reqCharset (修改请求的编码)
- reqCookies (修改请求cookies)
- reqCors (修改请求cors)
- headerReplace (通过str.replace的方式修改请求响应头)
延迟响应
- resDelay (延迟响应)
- resSpeed (限制响应速度)
修改请求内容
根据不同的数据类型采用不同的协议
- reqPrepend (往请求内容前面添加数据)
- reqBody (替换请求内容)
- reqAppend (往请求内容后面追加数据)
- reqReplace (通过正则或字符串替换请求文本内容,类似str.replace)
- reqMerge (修改请求参数或请求内容)
修改响应状态码
- statusCode (直接响应)
- replaceStatus (替换后台的响应状态码)
修改响应头
- resHeaders (修改响应头)
- resType (修改响应类型)
- resCharset (修改响应的编码)
- resCookies (修改响应cookies)
- resCors (修改响应cors)
- attachment (设置下载头部)
- redirect (302重定向)
修改响应内容
根据不同的数据类型采用不同的协议
- rule (设置响应规则)
- 请求替换
- file (替换本地文件)
- xfile (替换本地文件,如果本地文件找不到会继续请求线上)
- tpl (替换本地目标文件,可用于模拟jsonp请求)
- xtpl (替换本地目标文件,如果本地文件找不到会继续请求线上,可用于模拟jsonp请求)
- rawfile (替换本地http响应内容格式的文件)
- xrawfile (替换本地http响应内容格式的文件,如果本地文件找不到会继续请求线上)
- 自定义
- resMerge (修改响应参数)
- resPrepend (往响应内容前面添加数据)
- resBody (替换响应内容)
- resAppend (往响应内容后面追加数据)
- resReplace (通过正则或字符串替换响应文本内容,类似str.replace)
- htmlPrepend(往响应为html的内容前面添加数据)
- cssPrepend (往响应为html或css的内容前面添加数据)
- jsPrepend (往响应为html或js的内容前面添加数据)
- htmlBody(替换响应为html的内容)
- cssBody (替换响应为html或css的内容)
- jsBody (替换响应为html或js的内容)
- htmlAppend(往响应为html的内容后面追加数据)
- cssAppend (往响应为html或css的内容后面追加数据)
- jsAppend (往响应为html或js的内容后面追加数据)
过滤配置
- filter (excludeFilter|includeFilter) (过滤规则,隐藏请求等)
- ignore (忽略规则)
启用或禁用一些配置
- enable (设置capture HTTPs,隐藏请求等)
- disable (禁用缓存、cookie等)
- delete (删除指定的字段)
获取抓包数据
- reqWrite (将请求内容写入指定的文件)
- resWrite (将响应内容写入指定的文件)
- reqWriteRaw (将请求的完整内容写入指定的文件)
- resWriteRaw (将响应的完整内容写入指定的文件)推荐通过插件获取,具体参考:插件开发
动态设置规则
- reqScript (reqRules) (批量设置请求规则或通过脚本动态获取规则)
- resScript (resRules) (批量设置响应规则或通过脚本动态获取规则)
开发调试工具
- plugin (配置匹配的插件)
- weinre (设置weinre,调试手机页面)
- log (打印网页js错误或者调试信息)
- pipe 把数据流转到插件