由于近期公司的API接口升级成https协议,有时候想查看一下线上环境的返回结果, 按照Charles抓取http协议数据的方式是不能正确的看到https协议请求和返回结果的, 那Charles能抓取https数据吗?
答案是:可以的!
接下来我们看下如何操作:
PC安装Charles SSL根证书
选择Install Charles Root Certificate
菜单,Charles工具栏路径如下:
Help -> SSL Proxying -> Install Charles Root Certificate
设置Charles http代理设置
选择Proxy Setting
菜单,Charles工具栏路径如下:
Proxy -> Proxy Setting
勾选上Install Charles Root Certificate
,一般使用默认端口8888
,然后点击ok
iPhone手机设置http代理
前提是手机和电脑在一个局域网,打开手机设置
-> 无线局域网
,点击网络详情,
HTTP代理
选手动
,并设置服务器为电脑IP,端口设置成Charles http代理设置的端口8888
,即可
iPhone手机安装Charles SSL根证书
Charles选择Install Charles Root Certificate on a Mobile Device or Remote Browser
,Charles工具栏路径如下:
Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
然后打开手机的浏览器访问chl.pro/ssl
,按照提示安装证书
Charles SSL Proxying 设置
选择CharlesProxy
-> SSL Proxying Setting
,点击Add
,Host和Port都填写*
,
抓取任意站点、任意端口的数据,勾选Enable SSL Proxying
特别要注意的事项
不知道从什么时候开始 iOS多了个信任的操作 原来这块貌似是默认是信任吧,如果不勾选,将会出现unknown
的错误
在设置
-> 通用
-> 关于本机
-> 证书信任设置