e、最后,刷新浏览器,如果 http 的 Respone Header 里有 X-Charles-Map-Local 字段则代表本地文件替换成功。
文件替换成功效果图
替换生产环境的文件(跨域)
用本地文件替换生产环境的文件同样需要设置 Map Local Settings 和 Rewrite Settings 两项。
a、设置 Map Local Settings 进行文件目录映射,只需要把 Host 改成静态文件存储的域名即可,本例 Host: www.dpfile.com
b、设置 Rewrite Settings,这里需要分成两步:
第一步,指定替换文件,注意线上的文件因为被压缩过,所以文件名中可能会有 “min” 字段。
生产环境设置Map Local Settings 文件替换目录
第二步,由于 m.dianping.com 引用映射后的 www.dpfile.com 域下的文件,从而导致跨域问题。
生产环境产生的跨域问题
所以需要对 dpfile.com 域下的 Response Header 添加字段:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
从而允许 dpfile.com 域下的文件被其他域所引用。
通过给Response Header添加字段,允许dpfile域下文件被引用
情况2:Response Header 如已包含 Access-Control-Allow-Origin 字段,则只需添加 Access-Control-Allow-Credentials。不能再添加 Access-Control-Allow-Origin,否则会报错。
Response Header 已有 Access-Control-Allow-Origin 字段,重复添加报错
按以上配置设置完毕后,即可用本地文件替换生产环境线上文件:)
四、其他
筛选指定域下的请求
由于 Charles 会抓取手机发出的全部请求包,为了能快速定位我们需要的请求,可以对 Charles 的抓包请求进行筛选,具体方法是:Setting —> Recording Setting —> Include,设置只展示特定域的请求包。
Charles筛选特定域下的请求
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。