协议列表
为了尽可能满足web开发中方方面面的需要,whistle提供基本上覆盖抓包调试工具可以做的所有事情的对应协议,按功能可以分以下类别,大家可以按需查找:
有关协议的优先级及匹配情况参见:匹配原则
@ 功能
设置UI样式
设置hosts
设代理
- proxy(http-proxy) (代理到其它http代理服务器)
- https-proxy (代理到其它https代理服务器)
- socks (代理到其它socks代理服务器)
- pac (设置pac脚本)
延迟请求
修改请求URL
修改请求方法
修改请求头
- referer (修改请求referer)
- auth (修改请求用户名密码)
- ua (修改请求user-agent)
- forwardedFor (修改请求头x-forwarded-for)
- reqHeaders (修改请求头)
- reqType (修改请求类型)
- reqCharset (修改请求的编码)
- reqCookies (修改请求cookies)
- reqCors (修改请求cors)
- headerReplace (通过str.replace的方式修改请求响应头)
延迟响应
修改请求内容
根据不同的数据类型采用不同的协议
- reqPrepend (往请求内容前面添加数据)
- reqBody (替换请求内容)
- reqAppend (往请求内容后面追加数据)
- reqReplace (通过正则或字符串替换请求文本内容,类似str.replace)
- reqMerge (修改请求参数或请求内容)
修改响应状态码
修改响应头
- resHeaders (修改响应头)
- resType (修改响应类型)
- resCharset (修改响应的编码)
- resCookies (修改响应cookies)
- resCors (修改响应cors)
- attachment (设置下载头部)
修改响应内容
根据不同的数据类型采用不同的协议
- rule (设置响应规则)
- 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的内容后面追加数据)
修改 trailers
过滤配置
启用或禁用一些配置
获取抓包数据
- reqWrite (将请求内容写入指定的文件)
- resWrite (将响应内容写入指定的文件)
- reqWriteRaw (将请求的完整内容写入指定的文件)
- resWriteRaw (将响应的完整内容写入指定的文件) 推荐通过插件获取,具体参考:插件开发