首页 > 解决方案 > C#:如何管理 Charles Proxy 以跟踪来自 Visual Studio 或 Rider 的调用?

问题描述

我在Mac OS上使用Charles Proxy来调试移动应用程序:它在 iOS 模拟器上的真实设备(iOS/Android)上运行良好,但在 Android 模拟器上有点棘手(多个 IP 用于同一个 URL)。

但是,我尝试调试APIs Integrations Tests,在这种情况下,我在 Charles Proxy 中看不到任何痕迹......

我尝试使用Visual Studio for MacRider来做到这一点。

当我调试测试时,我可以看到调用很好,但是我在 Charles Proxy 中看不到任何痕迹,而当我在移动应用程序中使用相同的 URL 时,我可以很容易地看到痕迹。

是否需要执行特定步骤来包含来自控制台应用程序的调用或来自任何 IDE 的集成测试调用?(Visual Studio for Mac 或 Rider)

同时,我可以看到来自 Chrome、Safari、Slack 的所有痕迹……所以我看不出我可能忘记了什么。

像这样编辑HttpClientHandler后,我可以在 Charles Proxy 中看到跟踪:

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

如何在我的应用程序中配置证书?

问候,

标签: c#macosintegration-testingvisual-studio-maccharles-proxy

解决方案


推荐阅读