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

.NET Core 2.0中RestSharp无法使用Fiddler代理问题求助

解决RestSharp在.NET Core 2.0中代理配置不生效的问题

我之前也碰到过类似的坑,RestSharp在.NET Core环境下的代理配置逻辑和.NET Framework确实有差异,尤其是你用的106.2.2版本,咱们一步步来搞定:

一、先修正核心错误点

你代码里写的some_non_existing_server是无效的代理地址——Fiddler的本地代理地址应该是localhost,默认端口是8888。另外,RestSharp不会自动识别你创建的WebProxy实例,必须显式把它赋值给RestClient的Proxy属性才行。

二、显式配置Fiddler代理的正确代码

直接替换你的代码片段,这样就能让请求走Fiddler抓包了:

static void Main(string[] args) 
{
    // 配置Fiddler本地代理
    var proxy = new WebProxy("localhost", 8888) 
    {
        BypassProxyOnLocal = false // 不跳过本地请求,确保Fiddler能捕获所有请求
    };

    var restSharpClient = new RestClient("http://www.google.ch")
    {
        // 关键步骤:把代理实例绑定到RestClient
        Proxy = proxy,
        // 调试时临时忽略证书错误(Fiddler的HTTPS证书在.NET Core中会被默认拦截)
        RemoteCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) => true
    };

    // 发起请求的示例代码
    var request = new RestRequest(Method.GET);
    var response = restSharpClient.Execute(request);
    
    // 后续业务逻辑...
}

三、如果想用系统代理(Fiddler自动设置的全局代理)

要是不想硬编码代理地址,想直接用Fiddler设置的系统代理,这么写就可以:

static void Main(string[] args) 
{
    var restSharpClient = new RestClient("http://www.google.ch")
    {
        // 启用系统默认代理
        Proxy = WebRequest.DefaultWebProxy,
        // 给代理设置默认凭据,避免权限拦截
        Proxy.Credentials = CredentialCache.DefaultCredentials
    };

    // 发起请求...
}

四、额外调试小贴士

  • 确保Fiddler处于打开状态,在Tools > Options > Connections里确认端口是8888,没有被其他程序占用。
  • 如果调试HTTPS请求,记得安装Fiddler的根证书(Fiddler会主动提示,或者在Tools > Options > HTTPS里点击Actions > Trust Root Certificate)。
  • 测试时可以先用http://httpbin.org/get这类地址,响应里会直接显示代理信息,能快速确认配置是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:47:55