RestSharp在.NET Core 2.0中不使用代理(Fiddler)

时间:2018-05-07 08:33:42

标签: c# restsharp .net-core-2.0

我有一个 .NET Core 2.0控制台应用程序,我想用 Fiddler 进行调试,或者更确切地说, REST 请求 RestSharp

似乎 RestSharp 不接受我的代理设置,无论是系统代理还是代理明确设置。

RestSharp 版本:106.2.2(撰写本文时最新)

static void Main(string[] args)
{
    var proxy = new WebProxy("some_non_existing_server", 8888) {BypassProxyOnLocal = false};
    var restSharpClient = new RestClient("http://www.google.ch");
    restSharpClient.Proxy = proxy;
    var request = new RestRequest("/", Method.GET);
    var result = restSharpClient.Execute(request);

    if (!result.IsSuccessful ||
        result.StatusCode != HttpStatusCode.OK ||
        result.ErrorException != null)
    {
        throw new Exception("Unexpected response.");
    }

    Console.WriteLine("Request successful.");
}

预期结果:Exception(因为代理服务器不存在)

实际结果:Request successful

我也可以看到其他人也有这方面的困难,但通常解决方案涉及像我在上面的代码中那样明确地设置代理。

关于让它发挥作用的任何指示?

(如果重要的话,我在Windows 10 x64上使用dotnet.exe <dll name>执行此操作)

λ dotnet --info                                                  
.NET Command Line Tools (2.1.105)                                

Product Information:                                             
 Version:            2.1.105                                     
 Commit SHA-1 hash:  141cc8d976                                  

Runtime Environment:                                             
 OS Name:     Windows                                            
 OS Version:  10.0.17134                                         
 OS Platform: Windows                                            
 RID:         win10-x64                                          
 Base Path:   C:\Program Files\dotnet\sdk\2.1.105\               

Microsoft .NET Core Shared Framework Host                        

  Version  : 2.0.7                                               
  Build    : 2d61d0b043915bc948ebf98836fefe9ba942be11    

1 个答案:

答案 0 :(得分:0)

原来这是一个错误,我用Pull request修正了上游。

它已经合并,我想它会在106.2.2之后包含在RestSharp的版本中。所以要么自己从GitHub编译它,如果它尚未发布到NuGet,或者使用晚于106.2.2的NuGet版本