Charles —— iOS抓包设置代理的坑


我们在开发过程中 设置了代理,可能会遇到一些问题,这里做下记录,方便后期查看。

一、手机无法连接网络

当我们设置了Charles代理,需要在Mac端将 Charles打开,否则无法访问网络。

二、https请求Domain=NSURLErrorDomain Code=-1202 “此服务器的证书无效。

Error Domain=NSURLErrorDomain Code=-1202 "此服务器的证书无效。您可能正在连接到一个伪装成“xxxxxx.xxxxxx.com”的服务器,这会威胁到您的机密信息的安全。" UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x28286bc30>, NSErrorFailingURLKey=https://xxxxxx.xxxxxx.com/gway/cy/user/culture/chiyou/get.json, NSErrorFailingURLStringKey=https://xxxxxx.xxxxxx.com/gway/cy/user/culture/chiyou/get.json, NSLocalizedDescription=此服务器的证书无效。您可能正在连接到一个伪装成“xxxxxx.xxxxxx.com”的服务器,这会威胁到您的机密信息的安全。

原因: 如果确定服务器是支持https的,而这里请求却报错,那么可能原因就是你设置了代理(用Charles抓包), 但是你的Charles抓包https的相关设置错误,不能进行https抓包, iOS请求就会报错。
查看Charles客户端,发现请求是unknown状态如图
在这里插入图片描述
解决: 正确配置https抓包,能正常进行https抓包即可,否则只能关闭代理。
Charles https抓包设置

猜你喜欢

转载自blog.csdn.net/haifangnihao/article/details/114892040