Charles的安装、配置、使用与常见问题
前言
Charles功能很强大,是平时做开发调试的必备工具。本文将会讲解Charles的安装、配置以及详细的用法,并且还会附带一些本人开发过程中,常常用到的、可以极大提高开发效率的操作。
本文所叙述的Charles用法,都是基于以下环境展开:
电脑:MacBook Pro (M2,Sonoma)
手机:iPhone 14 pro max
Charles:4.6.7版本
浏览器:Chrome
一、Charles下载安装
下载地址:https://www.charlesproxy.com/download/
选择自己系统对应的版本下载安装。安装过程很简单,直接拖进mac的应用程序就行。由于Charles是收费软件,我鼓励大家支持正版。不想付费的,可以参考网上的破解方法,操作起来很简单。
二、Charles配置
正常情况,Charles安装好后,在Proxy Settings设置一下,就能抓取http请求了,具体步骤如下:
Proxy ->Proxy Settings->填好Port (我这里填的是8888,填其他的也可以), 然后把下面两个勾选上。
按照上面设置好后,就能抓取http请求了。但是如果想在mac上抓谷歌浏览器的请求或者https的请求,还得做一些其他的配置,继续看后面。
2.1 抓取谷歌浏览器的请求
MacOS系统下,Charles默认无法抓到Chrome的包,得先给Chrome配置一下代理才能抓包,那么如何设置代理呢?
Charles 是作为代理服务器来完成封包截取的,所以如果想对某个应用抓包,只需要将Charles设置为该应用的代理服务器即可。所以,如果我们想对谷歌浏览器抓包,只需要将谷歌浏览器的代理设置为Charles即可。有两种方法可以操作,一是在 Chrome 中设置成使用系统代理即可(得先将Charles设置成系统的代理服务器),二是直接将Chrome的代理服务器设置成 Charles。具体有如下几种操作方式:
- 方法一:直接在谷歌浏览器的设置中配置代理
Chrome浏览器右上角 三个点 > 设置 > 系统 > 打开您计算机的代理设置,然后开启 HTTP 和 HTTPS 代理,IP 为本机地址,端口设置为 Charles 中配置的端口号(我这里使用默认的8888端口)。
注意:Chrome 浏览器默认并不使用系统的代理服务器设置,上述的操作完成后,Chrome用的就是系统代理了。但是这样操作后,还是不能对浏览器进行抓包,还得先把Charles设置成电脑的代理服务器才行,方法如下:
Charles 选择 Proxy > macOS Proxy,当这里勾选后,Charles就会系统代理,接管整个电脑的流量,这样就能愉快的对Chrome抓包了。
- 方法二:
如果我们像上边一样,直接去修改浏览器的代理配置,可能会感觉很麻烦,那有没有更简单的方式呢?
答案是有的,使用SwitchyOmega插件,在