charles使用教程-ssl配置与证书安装方法
遇到 Charles 抓包 HTTPS 显示 CONNECT 或乱码?本教程按步骤指导你启用 SSL 代理、安装 Windows 根证书并处理浏览器信任问题,快速恢复 HTTPS 请求的正常解密与查看。
在使用 Charles 抓取 HTTPS 请求时,如果会话列表中只显示 CONNECT 方法、响应内容是一堆乱码,或者浏览器直接提示“您的连接不是私密连接”,这通常不是软件故障,而是 SSL 代理规则未生效或本机未信任 Charles 的根证书。只要按顺序检查代理链路、开启 SSL 解密并正确安装证书,就能让加密流量变得清晰可读。

Charles 主界面,左侧会话列表显示 HTTP 请求,右侧展示清晰的响应内容
在开始配置 SSL 之前,必须确保 Charles 的基础代理功能正常工作。打开 Charles 主界面,点击顶部菜单【Proxy】,确认【Windows Proxy】处于勾选状态。此时 Charles 会自动接管系统的 HTTP/HTTPS 代理设置。
为了排除 SSL 配置的干扰,先访问一个普通的 HTTP 网站(如 http://example.com)。如果在 Charles 的左侧会话树和右侧详情面板中能清晰看到该请求的主机名、路径和响应内容,说明基础代理链路已经打通。如果连 HTTP 请求都抓不到,请优先检查系统代理设置、端口是否被占用或防火墙拦截,不要急于进行后续的证书安装。
1. 启用 SSL 代理并设置域名规则
基础代理正常后,需要告诉 Charles 哪些 HTTPS 流量需要被“中间人”解密。点击顶部菜单【Proxy】,选择【SSL Proxying Settings】。

SSL Proxying Settings 窗口,已启用代理并添加了示例域名规则
在弹出的窗口中,首先勾选【Enable SSL Proxying】。接着切换到【Include】标签页,点击【Add】按钮添加需要解密的域名。建议初期只添加具体的测试域名,例如 Host 填写 www.example.com,Port 填写 443。如果需要调试所有 HTTPS 流量,可以暂时使用通配符 * 和端口 443,但出于安全和性能考虑,调试结束后应尽快收窄范围。
设置完成后点击 OK。此时重新发起 HTTPS 请求,Charles 会尝试拦截并解密数据。如果证书尚未被信任,浏览器可能会弹出安全警告,或者 Charles 中的请求显示为红色错误状态,这是正常现象,下一步我们将解决信任问题。
2. 安装 Charles 根证书到系统
要让浏览器和操作系统信任 Charles 截获的 HTTPS 流量,必须将 Charles 自签名的根证书安装到“受信任的根证书颁发机构”存储区。
在 Charles 菜单栏点击【Help】,选择【SSL Proxying】下的【Install Charles Root Certificate】。系统会弹出 Windows 证书导入向导。

证书导入向导中选择“受信任的根证书颁发机构”
在向导中点击【下一步】,保持默认选项,直到出现“证书存储”选择界面。务必选择【将所有的证书都放入下列存储】,然后点击【浏览】,在列表中选择【受信任的根证书颁发机构】。这一步至关重要,如果选错位置(如默认的个人存储),浏览器依然会报证书错误。
完成选择后继续点击【下一步】并完成导入。系统可能会弹出安全警告,确认发行者为 Charles Proxy 后点击【是】。安装过程通常需要管理员权限,请按提示授权。
3. 重启浏览器并验证解密效果
证书安装完成后,必须完全关闭并重新启动浏览器,以确保证书缓存被刷新。重新访问之前配置的 HTTPS 目标网站。

HTTPS 请求被成功解密,显示清晰的 JSON 响应数据
回到 Charles 界面,找到对应的 HTTPS 请求。如果配置成功,原本显示的 CONNECT 隧道下会出现具体的 GET/POST 子请求,点击这些子请求,在【Contents】标签页的【Response】中应该能看到清晰的 JSON、HTML 或图片数据,而不是乱码。同时,浏览器地址栏应显示正常的锁形安全图标,不再报错。
4. 处理特殊应用与证书固定
如果按照上述步骤操作后,某些特定 App 或程序仍然无法抓包,可能是因为它们使用了“证书固定”(Certificate Pinning)技术,或者拥有独立的证书存储库。
对于 Java 应用、Node.js 服务或 Android/iOS 移动端开发,Windows 系统级的证书信任不会自动生效。你需要将 Charles 导出的 .pem 或 .cer 证书文件,手动导入到对应运行环境的信任库中(如 Java 的 cacerts)。对于启用了证书固定的商业 App,常规代理手段无法绕过,建议在测试环境中使用开发团队提供的调试版本或关闭固定策略。
调试工作结束后,建议回到【Proxy】>【SSL Proxying Settings】中取消勾选【Enable SSL Proxying】,并从 Windows 证书管理器中移除 Charles Root Certificate,以恢复系统默认的 HTTPS 安全验证机制,避免长期留下安全敞口。

4. 处理特殊应用与证书固定
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,








