• 常用功能及配置模版
    • 1. 绑定转发
      • 2. req
    • 3. res
    • 4. debugging

    常用功能及配置模版

    #开头的表示注释

    1. 绑定转发

    1. ## disable,对某些域名不拦截
    2. ## 一般放到 Default 分组
    3. /wx.qq.com/ disable://intercept
    4. ## filter,在Network不会出现某些域名的请求
    5. /qq.com/ filter://hide
    6. ## socks
    7. ## 一般放到 Default 分组
    8. /facebook/ socks://127.0.0.1:1080
    9. /vk.com/ socks://127.0.0.1:1080
    10. /google/ socks://127.0.0.1:1080
    11. ## 一般场景是调试内嵌APP页面,APP内有一个入口链接a,而调试的目标页面是b
    12. ## 通过以下一行配置,页面a会自动换成页面b
    13. m.aliexpress.com/a.html m.aliexpress.com/b.html
    14. ## 绑定
    15. ## a.b.c.d 是某个环境的ip地址
    16. ## 有时通过多个域名的方式来部署多套开发环境
    17. ## 通过以下两行配置可以屏蔽开发环境域名与线上不一致的情况
    18. m.aliexpress.com mm.aliexpress.com
    19. mm.aliexpress.com a.b.c.d

    2. req

    1. ## ua
    2. m.aliexpress.com ua://{wp_ua}
    3. #m.aliexpress.com ua://{ali_ua}
    4. ## referrer
    5. m.aliexpress.com referer://https://vk.com/
    6. ## referrer null
    7. #m.aliexpress.com referer://
    8. ## reqHeaders,修改请求头
    9. ## ua、referer协议都可以通过reqHeaders来完成
    10. m.aliexpress.com reqHeaders://{req-headers}

    values

    1. {wp_ua}
    2. Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1113) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586
    3. {req-headers}
    4. {
    5. "X-Forwarded-For":" 188.146.171.71",
    6. "X-Real-IP":" 188.146.171.71",
    7. "X-Client-Scheme":"https",
    8. "referer":"https://vk.com/",
    9. "User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 AliApp(H/5)"
    10. }

    3. res

    1. ## file,本地调试是其典型的使用场景
    2. m.aliexpress.com/sw.js file:///path/to/your/local/sw.js
    3. ## xfile
    4. #m.aliexpress.com/sw.js xfile:///path/to/your/local/sw.js
    5. ## tpl,常用于mock jsonp请求
    6. aliexpress.com/query.jsonp tpl://{res-jsonp}
    7. ## xtpl,同tpl,本地不存在时走线上
    8. aliexpress.com/query.jsonp xtpl://{res-jsonp}
    9. ## resHeaders,修改响应头
    10. ae01.alicdn.com resHeaders://{res-cors}
    11. ## html,往html文档(</body>之前)追加html标签(script,style or normal html tag)
    12. m.aliexpress.com html://{html-test}
    13. ## js,往js响应追加脚本,如果响应是html文档,则自动用`<script></script>`包装后插入
    14. m.aliexpress.com/sw.js js://{js-test}
    15. ## css,往css响应追加样式,如果响应是html文档,则自动用`<style></style>`包装后插入
    16. ## `/`可以起到仅对首页追加的效果
    17. m.aliexpress.com/ css://{css-test}
    18. ## resReplace,替换响应的某些字符串
    19. ## 一般可用来快速验证某些功能
    20. m.aliexpress.com resReplace://{res-replace}

    values

    1. {res-jsonp}: whistle会用请求对应的callback值来替换{callback}
    2. {callback}({
    3. "ec": 0,
    4. "list":[{
    5. "id":1,
    6. "price":"US $100",
    7. "stock":"100",
    8. "imgUrl":"https://ae01.alicdn.com/kf/HTB12x0CLpXXXXajaXXX760XFXXXS.png_640x640.png"
    9. },...
    10. ]
    11. });
    12. {html-test}
    13. <script>
    14. // make an error
    15. x.x;
    16. </script>
    17. {js-test}
    18. fetch("/").then(res=>{console.log("fetched!")});
    19. {css-test}
    20. body{
    21. font-size:15px;
    22. }
    23. {res-cors}
    24. {
    25. "access-control-allow-origin":"*",
    26. "access-control-expose-headers":"Via"
    27. }
    28. {res-replace}
    29. <meta name="screen-orientation" content="portrait">: <meta name="apple-itunes-app" content="app-id=436672029">

    4. debugging

    1. m.aliexpress.com weinre://debug
    2. m.aliexpress.com log://{log-test}

    values

    1. {log-test}
    2. console.log("Yeah!")