RestSharp не использует прокси (Fiddler) в .NET Core 2.0 - PullRequest
0 голосов
/ 07 мая 2018

У меня есть .NET Core 2.0 Console приложение, которое я хотел бы отладить с помощью 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 голосов
/ 08 мая 2018

Оказывается, это была ошибка, которую я исправил в апстриме с помощью запроса на извлечение .

Он уже объединен, и я думаю, он будет включен в версии RestSharp после 106.2.2. Поэтому либо скомпилируйте его самостоятельно из GitHub, если он еще не выпущен в NuGet, либо используйте версию NuGet более позднюю, чем 106.2.2

...