Charles 开启 SSL Proxy 后为什么还是抓不到 HTTPS 请求? 南宫东焕 提问于 2026-02-24 03:52:19 阅读 73 工具 我用 Charles 抓包,已经安装了根证书,也在 SSL Proxying Settings 里加了 *:443,但手机上的 App 发的 HTTPS 请求还是显示为 CONNECT tunnel,看不到具体请求内容。这是哪里没配对? 手机和电脑在同一个 Wi-Fi 下,代理设置没问题,HTTP 请求能正常抓到,就 HTTPS 不行。是不是还要在手机上额外信任证书? Charles 我来解答 赞 10 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 W″树潼 Lv1 你这种情况大概率是手机没手动信任证书导致的。Charles 的根证书安装了不代表系统就信任它,尤其是 Android 7+ 和 iOS 10.3+ 以后,系统要求你手动把证书设置为“受信任的凭据”。 具体操作: Android 上: - 进入设置 → 安全 → 加密与凭据 → 信任的凭据 → 选择“用户”标签页 - 找到 Charles Root Certificate,点进去把“为 VPN 和应用信任此证书”勾上(有的机型是“信任用于网络识别”之类的表述) iOS 上: - 设置 → 通用 → 关于本机 → 证书信任设置 - 找到 Charles Root Certificate,把它完全打开,然后开关拉成绿色(信任) 改完记得重启 App,有些 App 会缓存 TLS 连接,重启后才能重新握手走 Charles 的代理。 另外确认下 Charles 里 SSL Proxying Settings 里是不是真的写了 *:443(不是 *:80),还有别忘了点右下角的“Enable SSL Proxying”主开关。 要是还抓不到,用浏览器访问个 HTTPS 站点试试(比如 https://example.com),看 Charles 能不能解出来,能的话就是 App 用了证书锁定(certificate pinning),那就得加 mitm 抓包方案了,比如用 frida 或者改 app。 回复 点赞 4 2026-02-24 04:00 加载更多 相关推荐 2 回答 78 浏览 Charles SSL证书配置后iOS设备请求显示证书错误怎么办? 在用Charles抓iOS设备的HTTPS请求时,虽然已经在设置里启用了SSL Proxy并信任了Charles证书,但每次请求都弹出"证书无效"的错误。之前测试HTTP请求没问题,换成HTTPS就报... 希玲 工具 2026-02-04 12:44:33 2 回答 21 浏览 Charles抓包手机HTTPS请求失败怎么办? 我用Charles调试移动端接口,HTTP请求能正常抓到,但一换成HTTPS就显示SSL handshake failed。手机已经装了Charles的根证书,也信任了,iOS 16系统,设置里证书状... UP主~永香 工具 2026-02-27 14:53:20 2 回答 22 浏览 为什么我的Charles配置好了却抓不到手机的HTTPS请求? 我按教程配置了Charles的HTTPS代理,手机也设置了代理并安装了证书,但访问App时请求还是显示“Connection refused”。/* 我在App的WebView里看到的错误样式 */ ... UE丶玉宁 工具 2026-02-10 15:06:31 1 回答 5 浏览 Charles抓包为什么看不到本地React开发的HTTPS请求? 我在用 create-react-app 搭建的项目里调用后端接口,本地启的是 https://localhost:3000,但 Charles 完全抓不到这些请求,明明代理已经开了,其他 HTTP ... 极客东旭 前端 2026-03-03 10:45:18 1 回答 11 浏览 Charles抓包时为什么本地localhost请求看不到? 我用Charles想抓本地开发环境的接口,地址是http://localhost:3000/api/test,但Charles里完全没记录。手机抓远程接口没问题,就本地不行。试过开Proxy的macO... 西门凌萓 工具 2026-02-25 22:39:18 1 回答 13 浏览 Charles抓包时为什么看不到本地React开发服务器的请求? 我在用 Charles 抓包调试一个 React 项目,本地开发服务器跑在 http://localhost:3000,但 Charles 里完全看不到任何请求。我已经开了 macOS 的代理设置,也... W″统泽 工具 2026-02-24 10:14:21 2 回答 25 浏览 设置了Secure标志的Cookie为什么在HTTPS页面读取不到? 我按照文档配置了服务器返回的Cookie携带Secure标志,但发现HTTPS页面始终无法通过document.cookie获取到该Cookie。明明在开发者工具的Network标签里看到响应头确实有... 博主雨涵 安全 2026-02-12 11:59:48 1 回答 2 浏览 Security面板里为什么提示我的HTTPS页面有混合内容? 我在本地用 HTTPS 启动了一个开发服务器,页面也确实是通过 https://localhost:3000 加载的,但 Chrome DevTools 的 Security 面板一直报“Mixed ... 爱琴 Dev 工具 2026-03-03 17:44:20 1 回答 4 浏览 Charles重放请求时为什么参数没生效? 我在用 Charles 的 Repeat 功能重放一个 POST 请求,明明改了请求体里的参数,但接口返回的结果还是跟原来一样,好像修改没生效。 我试过在 Repeat 窗口里直接编辑 JSON 内容... 红彦的笔记 工具 2026-03-03 09:24:22 1 回答 19 浏览 Charles重写规则为什么对Vue本地请求没生效? 我在用Charles的Rewrite功能想把本地开发时的/api前缀请求重写到测试环境,但发现根本没走重写规则,还是发到了localhost。我确定规则配置是对的,其他非Vue项目能正常重写。 我的V... a'ゞ子斌 工具 2026-02-28 15:56:24
具体操作:
Android 上:
- 进入设置 → 安全 → 加密与凭据 → 信任的凭据 → 选择“用户”标签页
- 找到 Charles Root Certificate,点进去把“为 VPN 和应用信任此证书”勾上(有的机型是“信任用于网络识别”之类的表述)
iOS 上:
- 设置 → 通用 → 关于本机 → 证书信任设置
- 找到 Charles Root Certificate,把它完全打开,然后开关拉成绿色(信任)
改完记得重启 App,有些 App 会缓存 TLS 连接,重启后才能重新握手走 Charles 的代理。
另外确认下 Charles 里 SSL Proxying Settings 里是不是真的写了
*:443(不是*:80),还有别忘了点右下角的“Enable SSL Proxying”主开关。要是还抓不到,用浏览器访问个 HTTPS 站点试试(比如 https://example.com),看 Charles 能不能解出来,能的话就是 App 用了证书锁定(certificate pinning),那就得加 mitm 抓包方案了,比如用 frida 或者改 app。