一、iOSCharles配置后显示网络不可用
在iOS应用程序测试阶段,Charles是一个非常有用的工具。它能够监控应用程序与服务器之间的通信,方便地捕捉和查看网络通信流。但是,有时候我们可能在配置好iOSCharles后发现网络不可用。接下来,我们来看几个可能出现在这种情况下的原因和解决方法。
1. 检查代理设置
通过在“设置”-“无线局域网”-“Wi-Fi网络名称”-“配置代理”-“手动模式”的路径下检查代理设置,确保代理地址与iOSCharles上设置的地址一致,端口号一致,并且“代理与主机名”需要选中。
2. 安装证书
要想使用iOSCharles捕获HTTPS协议的网络数据包,首先需要在iPhone上安装Charles SSL证书。如果没有正确安装Charles证书,就无法成功捕获HTTPS网络数据包。我们可以通过以下操作安装证书:
打开Charles,点击“Help”-“SSL Proxying”-“Install Charles Root Certificate on a Mobile Device or Remote Browser”,将证书发送到邮件或者AirDrop到手机,并安装。
3. 查看防火墙规则
iOSCharles与Mac电脑连接后,需要一个支持网络共享的内置防火墙规则才可以正常进行沟通。如果发现网络不可用,可以在Mac的“系统偏好设置”-“安全性与隐私”-“防火墙”中查看应用程序的防火墙规则是否允许iOSCharles进行网络访问。
二、HTTP代理与HTTPS代理区别
HTTP代理只处理HTTP请求,HTTPS代理则具有某种能力使得它们可以管理HTTPS请求。当iOS Charles作为一个HTTP代理工具时,可以捕获HTTP请求包。但是,当我们想要捕获HTTPS请求时,就需要将iOS Charles转变为HTTPS代理工具,这就需要配置HTTPS代理。
HTTP代理示例代码:
// 配置HTTP代理
[NSURLProtocol registerClass:[PMURLProtocol class]];
// 或
[NSURLProtocol wk_registerScheme:@"http"];
[NSURLProtocol wk_registerScheme:@"https"];
HTTPS代理示例代码:
// 配置HTTPS代理
[NSURLProtocol registerClass:[PMHTTPProtocol class]];
三、HTTPS捕获问题
当HTTPS请求捕获成功时,证书应该安装在“已信任的根证书颁发机构”中。有时候在iOS设备上安装证书后,仍然无法捕获HTTPS请求。
1. 查看证书是否已经安装
我们可以在“设置”-“通用”-“关于本机”-“证书信任设置”中查看证书是否已安装。
2. 重新安装SSL证书
如果已经安装证书,但是没有成功捕获HTTPS请求,则可以尝试重新安装证书。具体步骤参见以上步骤“安装证书”。
四、iOSCharles其他功能的使用
iOSCharles不仅可以是一个应用程序网络调试和分析利器,还可以用于替换或篡改HTTP或HTTPS请求和响应。以下是iOSCharles的一些其他功能。
1. 设置断点并编辑请求
通过设置断点,可以暂停请求发送,并编辑请求的头部、内容和参数,进行请求的测试和修改。点击选中请求,在“Edit Request”中可以进行编辑。
2. 过滤和搜索功能
使用过滤和搜索功能可以在复杂的网络流量中找到你所需要的信息。可以使用快捷键进行过滤和搜索,也可以通过菜单栏中的“Filter”和“Search”进行操作。
3. 其他设置
在“Proxy”-“Proxy Settings”中可以更改iOSCharles的主机、端口、版本等设置,选择是否显示耗时、gzip压缩等信息,更改抓包数据的储存目录和格式等设置。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/193340.html
微信扫一扫
支付宝扫一扫