Charles 开启 SSL Proxy 后为什么还是抓不到 HTTPS 请求? 西门世英 提问于 2026-03-26 15:01:20 阅读 16 工具 我用 Charles 抓包本地开发的 React 项目,已经按教程装了 Charles 的根证书,也在手机和电脑上都信任了。SSL Proxying Settings 里也加了 *:443,但打开 App 还是显示 “SSL handshake failed”,请求直接失败了。 试过重启 Charles、重装证书、清除浏览器缓存都没用。是不是现在有些网站用了证书绑定(Certificate Pinning)?还是我哪里配置漏了? 我来解答 赞 10 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 设计师栾诺 Lv1 这问题我也遇到过,确实让人头疼。首先你得确认是不是真的碰到了证书绑定的问题,但咱们先从简单的开始排查。 Charles 里加了 *:443 不代表万事大吉,试试把具体的域名也加进去,比如 www.example.com:443。我当时就是只加了通配符,结果抓不到特定域名的包。 还有个容易忽略的地方,记得在 Charles 的 Proxy Settings 里勾选 "Enable SSL Proxying",而且要确保端口是 8888 或者你自己配置的那个。 如果还是不行,很可能是 App 确实用了证书绑定。这种情况下有两个办法:一是找开发要一个调试环境,禁用掉证书绑定;二是如果你有源码权限,可以临时注释掉相关的 pinning 代码。 我之前遇到这种情况,最后发现是个坑爹的混合内容问题。React 项目里有些资源请求是 HTTP 而不是 HTTPS,导致整个链路都被搞乱了。建议你检查一下网络请求的协议。 实在不行就用 Fiddler 试试,有时候换工具能解决问题。反正我现在每次用 Charles 抓 HTTPS 都会先把这些地方仔细检查一遍。 回复 点赞 2026-03-26 15:02 加载更多 相关推荐 1 回答 91 浏览 Charles 开启 SSL Proxy 后为什么还是抓不到 HTTPS 请求? 我用 Charles 抓包,已经安装了根证书,也在 SSL Proxying Settings 里加了 *:443,但手机上的 App 发的 HTTPS 请求还是显示为 CONNECT tunnel,... 南宫东焕 工具 2026-02-24 03:52:19 2 回答 87 浏览 Charles SSL证书配置后iOS设备请求显示证书错误怎么办? 在用Charles抓iOS设备的HTTPS请求时,虽然已经在设置里启用了SSL Proxy并信任了Charles证书,但每次请求都弹出"证书无效"的错误。之前测试HTTP请求没问题,换成HTTPS就报... 希玲 工具 2026-02-04 12:44:33 2 回答 38 浏览 Charles抓包手机HTTPS请求失败怎么办? 我用Charles调试移动端接口,HTTP请求能正常抓到,但一换成HTTPS就显示SSL handshake failed。手机已经装了Charles的根证书,也信任了,iOS 16系统,设置里证书状... UP主~永香 工具 2026-02-27 14:53:20 2 回答 32 浏览 为什么我的Charles配置好了却抓不到手机的HTTPS请求? 我按教程配置了Charles的HTTPS代理,手机也设置了代理并安装了证书,但访问App时请求还是显示“Connection refused”。/* 我在App的WebView里看到的错误样式 */ ... UE丶玉宁 工具 2026-02-10 15:06:31 1 回答 40 浏览 Charles抓包HTTPS时证书安装后还是无法解密? 我用Charles抓自己开发的React项目接口,已经按教程在手机和电脑上都装了Charles的根证书,也开启了SSL Proxying,但HTTPS请求还是显示“SSL Proxying not e... Prog.新红 工具 2026-03-13 21:05:20 2 回答 31 浏览 Charles抓包为什么看不到本地React开发的HTTPS请求? 我在用 create-react-app 搭建的项目里调用后端接口,本地启的是 https://localhost:3000,但 Charles 完全抓不到这些请求,明明代理已经开了,其他 HTTP ... 极客东旭 前端 2026-03-03 10:45:18 1 回答 14 浏览 Charles抓包时为什么手机请求没显示? 我用Charles配置了手机代理,电脑和手机在同一个WiFi下,SSL证书也装了,但React Native App发的请求完全没出现在Charles里,是哪里漏了吗? 我试过重启Charles、重装... 极客东旭 移动 2026-03-22 16:55:24 2 回答 25 浏览 Charles录制时为什么抓不到本地localhost的请求? 我在用 Charles 做接口调试,开启 Recording 之后发现访问 localhost:3000 的请求完全没被记录到,但手机上的请求却能正常抓包。 我已经确认了代理设置正确,浏览器也走了 C... Designer°之芳 工具 2026-03-07 23:10:19 1 回答 46 浏览 Fiddler抓不到HTTPS请求怎么办? 我用 Fiddler 想抓本地开发环境的 HTTPS 接口,但完全看不到请求,HTTP 的能正常抓到。已经点了 Tools > Options > HTTPS 里的 Decrypt HTT... UI园园 前端 2026-03-17 22:39:19 2 回答 29 浏览 Charles抓包时为什么本地localhost请求看不到? 我用Charles想抓本地开发环境的接口,地址是http://localhost:3000/api/test,但Charles里完全没记录。手机抓远程接口没问题,就本地不行。试过开Proxy的macO... 西门凌萓 工具 2026-02-25 22:39:18
Charles 里加了 *:443 不代表万事大吉,试试把具体的域名也加进去,比如
www.example.com:443。我当时就是只加了通配符,结果抓不到特定域名的包。还有个容易忽略的地方,记得在 Charles 的 Proxy Settings 里勾选 "Enable SSL Proxying",而且要确保端口是 8888 或者你自己配置的那个。
如果还是不行,很可能是 App 确实用了证书绑定。这种情况下有两个办法:一是找开发要一个调试环境,禁用掉证书绑定;二是如果你有源码权限,可以临时注释掉相关的 pinning 代码。
我之前遇到这种情况,最后发现是个坑爹的混合内容问题。React 项目里有些资源请求是 HTTP 而不是 HTTPS,导致整个链路都被搞乱了。建议你检查一下网络请求的协议。
实在不行就用 Fiddler 试试,有时候换工具能解决问题。反正我现在每次用 Charles 抓 HTTPS 都会先把这些地方仔细检查一遍。