Fiddler抓不到HTTPS请求怎么办? UI园园 提问于 2026-03-17 22:39:19 阅读 59 前端 我用 Fiddler 想抓本地开发环境的 HTTPS 接口,但完全看不到请求,HTTP 的能正常抓到。已经点了 Tools > Options > HTTPS 里的 Decrypt HTTPS traffic,也装了证书,但还是不行。 浏览器里访问 https://localhost:3000/api/test 能正常返回数据,但 Fiddler 里一条记录都没有。是不是还要改什么设置? 我来解答 赞 4 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 技术岳阳 Lv1 这个问题我遇到过,主要是证书和代理两个地方没配好。 首先确认一下Fiddler的证书有没有装对。打开Fiddler,点击菜单 Tools → Options → HTTPS,点一下右边的 Actions 按钮,选择 "Export Root Certificate to Desktop",把证书导出。然后在浏览器里导入这个证书为受信任的根证书。 如果你是Chrome浏览器,直接访问 http://localhost:8888/ 会自动跳转到Fiddler的配置页面,点击那个大大的"FiddlerRoot certificate"链接安装。 还有一点很关键:有些版本的Fiddler默认不抓localhost的流量。你需要在Fiddler里点击 Rules → Customize Rules,打开脚本编辑器,找到 OnBeforeRequest 函数,加这么一段: if (oSession.HostnameIs("localhost") || oSession.HostnameIs("127.0.0.1")) { oSession["X-OverrideGateway"] = "<proxy>"; } 或者更简单的办法,在浏览器里用机器名或者IP代替localhost访问,比如 https://127.0.0.1:3000/api/test,这样Fiddler就能抓到了。 另外检查一下浏览器代理设置,确保代理指向了127.0.0.1:8888(Fiddler默认端口)。 如果你的接口用了证书固定(certificate pinning),那Fiddler就抓不了了,这种情况要么在代码里暂时禁用pinning,要么换其他工具比如Charles。 回复 点赞 2026-03-18 13:00 加载更多 相关推荐
首先确认一下Fiddler的证书有没有装对。打开Fiddler,点击菜单 Tools → Options → HTTPS,点一下右边的 Actions 按钮,选择 "Export Root Certificate to Desktop",把证书导出。然后在浏览器里导入这个证书为受信任的根证书。
如果你是Chrome浏览器,直接访问 http://localhost:8888/ 会自动跳转到Fiddler的配置页面,点击那个大大的"FiddlerRoot certificate"链接安装。
还有一点很关键:有些版本的Fiddler默认不抓localhost的流量。你需要在Fiddler里点击 Rules → Customize Rules,打开脚本编辑器,找到 OnBeforeRequest 函数,加这么一段:
或者更简单的办法,在浏览器里用机器名或者IP代替localhost访问,比如 https://127.0.0.1:3000/api/test,这样Fiddler就能抓到了。
另外检查一下浏览器代理设置,确保代理指向了127.0.0.1:8888(Fiddler默认端口)。
如果你的接口用了证书固定(certificate pinning),那Fiddler就抓不了了,这种情况要么在代码里暂时禁用pinning,要么换其他工具比如Charles。