重写简介

每一项重写会对应多个位置和多个规则,位置是要修改的请求地址,规则是要修改的内容

添加位置

下图是位置对应每个字段所在请求地址的信息

IPV6环境下charles重定向 httpcatcher重定向_请求头

  1. scheme 是请求协议,它的值有 http 和 https 两项
  2. host 是请求的域名地址,比如 www.google.com
  3. port 是请求地址的端口号,一般 http 的默认端口号是 80,https 是 443,当然也可以是其他值
  4. path 是请求路径
  5. query 是请求参数,其中图示中 query_a=1&query_b=2 表示两个参数 query_a=1query_b=2,它们的字段分别是 query_aquery_b,它们的的值分别 1 和 2

一般情况下位置只需要填写 host 和 path 就能找到对应的请求地址,所以在添加位置时通常只需要填写 host 和 path

添加规则

规则中目标有两个选项,分别是 request 和 response,代表发送至服务器的请求和接收服务器的响应

当目标选中为 request 时,行为会有一下选项

  1. add-header(添加请求头)
  2. modify-header(修改请求头)
  3. remove-header(删除请求头)
  4. path((改路径))5 add-query(添加请求参数)
  5. modify-query(修改请求参数)
  6. remove-query(删除请求参数)
  7. add-form(添加表单参数)
  8. modify-form(修改表单参数)
  9. remove-form(删除表单参数)
  10. body(修改请求消息体)

当目标选中为 response 时,行为会有一下选项

  1. add-header(添加响应头)
  2. modify-header(修改响应头)
  3. remove-header(删除响应头)
  4. status-code(修改状态码)
  5. body(修改响应消息体)

IPV6环境下charles重定向 httpcatcher重定向_HTTP Catcher_02


IPV6环境下charles重定向 httpcatcher重定向_请求头_03


上图中红色圈住的每行表示一项信息,其中冒号前粗体部分是字段冒号后是值。以 query_a: 1 为列子,query_a 为字段,1 为值。

修改请求参数

IPV6环境下charles重定向 httpcatcher重定向_IPV6环境下charles重定向_04


上图是将 query_a: 1 的修改为 query_a: 999,其中匹配值为空表示匹配值可以为任何值,字段为空表示表示不修改字段。

修改响应体

IPV6环境下charles重定向 httpcatcher重定向_字段_05


上图是将 JSON 字段 coins 的值改从 0 改为 99,这里查找填入 "``coins``"``:0,替换填入 "``coins``"``:99,在复制的过程中需要去掉中间的空格