我有一个 .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
答案 0 :(得分:0)
原来这是一个错误,我用Pull request修正了上游。
它已经合并,我想它会在106.2.2
之后包含在RestSharp的版本中。所以要么自己从GitHub编译它,如果它尚未发布到NuGet,或者使用晚于106.2.2
的NuGet版本