600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > charles请求转发_使用Charles代理进行请求转发

charles请求转发_使用Charles代理进行请求转发

时间:2023-07-26 11:03:35

相关推荐

charles请求转发_使用Charles代理进行请求转发

Charles是一款代理工具,官网中的解释为“HTTP代理/HTTP监视器/反向代理”,在Mac OS中使用比较多,当然也支持Windows的用户,我们可以通过这个代理来查看客户端与服务器之间的交互信息,也可以通过它来修改这些请求或响应当中的信息,从而来验证一些产品功能逻辑。

今天我们主要来了解一些Charles当中修改报文的方法。进入主题之前,有两点需要说明的,第一就是什么是报文。其实报文就是我们所说的消息(message),只是这些消息在网络当中传输需要按照固定的信息格式。第二点,就是修改什么。因为我们提到了多种修改的方法,在判断使用哪种方法之前,如果我们已经清楚修改什么,就有可能选择出更高效的方法。

1.Breakpoint(打断点)

比较适合用于单次的修改。通过打断点的方式,在请求(Request)到达服务端前和响应(Response)到达客户端前分别可以实现一次拦截,这样我们可以通过修改Request来“欺骗”服务端,修改Response来“欺骗”客户端。

如上图所示,这中间的信息我们都是可以进行修改的,比如把请求方式由GET改为POST,改完后点击Execute即可继续进行下一步。

如上图所示,响应中的http状态码、报文数据等也可以在拦截之后进行修改。打断点是每次都要修改的,如果你想要“一劳永逸”,就需要采用下面的方法了。

2.Rewrite

比较适合用于修改报文中的url、固定字段、字符串等,打开Charles工具栏的Tools,找到Rewrite点击进入设置。

1)修改url:比如说请求url发生了变化,需要将修改为。

2)修改返回的http状态码:比如某条请求在返回时,客户端根据请求的状态码做了判断,当请求成功(200)时,就实现逻辑一,请求不成功了就实现逻辑二,这时我们可以通过把请求的状态码修改为200,来验证第一条逻辑,也可以把状态码改成404,来验证第二条逻辑。

如上图所示,我们一定要在设置的时候勾选上Regex,表示我们使用了正则,这样\d{3}就代表3个并列的整数,也就等同于http的状态码了。

3)修改响应中的字符:比如有些测试环境当中不支持https的链接,有些图片链接是https开头时,会显示为灰图,那么我们可以把返回的报文中https修改为http。

3.Map(重定向)

1) Map Remote

比较适合用于做单纯的域名转发,比如上文中通过Rewrite修改url,这种问题也可以用Map Remote来解决。

如上图所示,我们的一次Map Remote,实现了下面四项修改:

修改项

修改前

修改后

Protocol

http

https

Host

Path

/a/b/c

/a/b/c/d

Query

page=0

page=1

2) Map Local

如果你只需要对返回报文的Body进行修改,而且修改之后的内容固定为某一批数据就可以,那么这个功能就可以帮到你,因为我们可以把请求转发到本地文件。

搜狗测试微信号:Qa_xiaoming

搜狗测试QQ粉丝群:459645679

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。