You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7控制台应用无法连接Fiddler抓包,SSL请求失败求助

.NET 7控制台应用连接Fiddler解决SSL失败及抓包问题

针对你的情况,需要补充以下配置来解决SSL请求失败并正常抓包:

1. 信任Fiddler的HTTPS根证书

.NET 7默认不会信任Fiddler生成的自签名证书,需手动导入信任:

  • 打开Fiddler,依次点击 Tools > Options > HTTPS
  • 勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic,点击Actions > Export Root Certificate to Desktop,将证书导出到桌面(文件名通常为FiddlerRoot.cer)
  • 以管理员身份打开CMD,执行以下命令导入证书:
    # 清理可能冲突的本地开发证书
    dotnet dev-certs https --clean
    # 将Fiddler证书导入系统根证书存储(替换为你的证书实际路径)
    certutil -addstore -f "ROOT" C:\Users\你的用户名\Desktop\FiddlerRoot.cer
    

2. 配置应用跳过SSL证书验证(仅测试环境使用)

Fiddler解密HTTPS请求时会替换证书,.NET默认的证书验证会失败,可通过以下方式禁用验证:

方式1:通过代码配置HttpClient

在创建HttpClient时添加证书验证回调:

var handler = new HttpClientHandler();
// 跳过证书验证(生产环境禁止使用)
handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true;
var httpClient = new HttpClient(handler);

方式2:通过配置文件设置

在appsettings.json中添加以下配置:

{
  "HttpClient": {
    "Handler": {
      "ServerCertificateCustomValidationCallback": "IgnoreCertificateError"
    }
  }
}

3. 确认代理配置的有效性

如果使用appsettings.json而非exe.config,可将代理配置移至appsettings.json(.NET 7优先读取此配置):

{
  "System.Net": {
    "DefaultProxy": {
      "ProxyAddress": "http://127.0.0.1:8888",
      "BypassOnLocal": false,
      "UseSystemDefault": false
    }
  }
}

同时确认Fiddler的监听端口为8888(在Tools > Options > Connections中查看),与配置一致。

4. 重启验证

完成上述配置后,先关闭Fiddler和控制台应用,重新打开Fiddler,再启动应用即可正常抓取HTTPS请求。

内容的提问来源于stack exchange,提问作者user1255637

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:20:21