Charles 代理使用过程中手机无法连网或无法捕捉到手机接口请求情况

解决Charles证书过期导致代理上网问题

在charles使用过程中,偶尔会出现代理无法上网的情况,且chrome也无法访问网页,但是微信和qq等工具都正常连网。

经过多次尝试,终于解决了问题。是因为charles证书过期了。

点击help->SSL Proxying->Install Charles Root Certificate,打开证书管理器。点开对应的证书,可以看到过期时间

1、charles证书过期后,需要重新下载更替chrome中的证书

将chrome的代理打开-chrome设置-代理

2、将app端的证书也重新下载更新,并信任证书

  可能存在设置代理后,app无法通过chls.pro/ssl下载证书的情况,此时可以通过https://www.charlesproxy.com/assets/legacy-ssl/charles.crt  下载证书即可。

下载后要通过设置-安装-信任后方能正常访问网络。

使用 Charles 代理手机情况下,如果遇到无法访问小程序并提示“运行环境错误2101”,通常与网络配置、HTTPS 证书小程序的网络请求策略有关。以下是可能的原因及解决方案: ### 1. 网络代理配置问题 在使用 Charles 进行代理时,手机需要正确配置 HTTP 代理。如果代理设置不正确,小程序可能无法正常加载远程资源,从而触发错误 2101。 - 确保手机和运行 Charles 的电脑处于同一局域网。 - 在 iPhone 上,进入“设置”–“Wi-Fi”,点击当前连接的网络,进入“HTTP 代理”设置,选择“手动”并填写 Charles 所在电脑的 IP 地址和端口号(默认为 8888)[^3]。 - 在 Android 设备上,可以通过修改 Wi-Fi 设置中的代理地址和端口来实现。 ### 2. HTTPS 证书未正确安装 Charles 会作为中间代理拦截 HTTPS 请求,因此需要在手机上安装 Charles 的根证书,否则 HTTPS 请求将被拦截失败,导致小程序无法加载。 - 在手机浏览器中访问 [charlesproxy.com/getssl](https://charlesproxy.com/getssl) 下载并安装证书。 - 某些 Android 手机(如小米)可能不支持通过默认浏览器安装证书,建议使用 Chrome 浏览器进行安装[^2]。 - 安装完成后,重新启动小程序并测试访问。 ### 3. 小程序域名白名单限制 小程序框架(如微信小程序)通常要求所有网络请求必须使用 HTTPS,并且域名必须在后台配置的白名单中。如果使用 Charles 代理请求的域名未在白名单中,未正确使用 HTTPS,也会导致运行环境错误 2101。 - 检查小程序的网络请求是否使用 HTTPS 协议。 - 登录小程序管理后台,确认请求的域名已添加到“服务器域名”白名单中。 - 如果使用 Charles 代理的中间地址(如 localhost 内网 IP),可能无法通过白名单校验,建议使用合法域名进行测试。 ### 4. Charles 拦截影响小程序加载 Charles 在拦截 HTTPS 请求时可能会导致部分请求失败,尤其是在未正确配置 SSL 代理情况下。 - 在 Charles 中启用“SSL Proxying”功能,确保拦截的 HTTPS 请求能被正确解密。 - 在 Charles 的“Proxy”菜单中选择“SSL Proxying Settings”,添加需要拦截的域名,并勾选“Enable SSL Proxying”。 ### 5. 小程序运行环境限制 微信小程序等平台对运行环境有严格的安全限制,若检测到代理环境非正常网络请求,可能会阻止小程序运行。 - 尝试关闭 Charles 代理,确认小程序是否能正常运行。 - 如果小程序仅在代理环境下出错,可考虑使用其他调试工具(如 Fiddler、vConsole)进行替代调试。 ### 示例代码:调试网络请求 可以在小程序中添加日志输出,帮助定位请求失败的具体原因: ```javascript wx.request({ url: 'https://your-server.com/api/test', success(res) { console.log('请求成功', res); }, fail(err) { console.error('请求失败', err); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值