C#: Как управлять прокси-сервером Charles для отслеживания вызовов из Visual Studio или Rider? - PullRequest
0 голосов
/ 22 февраля 2020

Я использую Charles Proxy на Ма c ОС , для отладки мобильного приложения: оно хорошо работает на реальных устройствах (iOS / Android), на iOS симуляторе , но это немного сложно на Android симуляторах (несколько IP-адресов используются для одного URL).

Однако я пытаюсь отладить Тесты интеграции API , и в этом случае я не вижу никаких следов в Charles Proxy ...

Я пытался сделать это с Visual Studio для Ma c и с Rider .

Когда я отлаживаю тест, я вижу, что вызов сделан хорошо, но я не вижу никаких следов в Charles Proxy, тогда как, когда я использую тот же URL в мобильном приложении, я вижу след легко.

Есть ли определенный шаг c, который нужно сделать, чтобы включить вызовы из приложения консоли или вызовы Integration Tests из любой IDE? (Visual Studio для Ma c или Rider)

В то же время я могу видеть все следы, поступающие с Chrome, Safari, Slack, ... Так что я надеваю не вижу того, что я мог забыть.

После редактирования HttpClientHandler вот так я могу видеть следы в прокси Charles:

public class TestsHttpMessageHandlerFactory : IHttpMessageHandlerFactory
{
    public HttpMessageHandler Create()
    {
        return new HttpClientHandler
        {
            Proxy = new WebProxy("http://192.168.86.177:8888"),
            UseProxy = true
        };
    }
}

Но теперь у меня есть следующие сведения об ошибке в Charles Proxy:

 - Status: Failed Failure: Client closed the connection before a request
   was made. Possibly the SSL certificate was rejected. 
 - Notes: You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu. 
 - Response Code: 200 Connection established

Как настроить сертификат в моем приложении?

С уважением,

...