【问题标题】:Fiddler capturing emulator's browser packets but not my app'sFiddler 捕获模拟器的浏览器数据包,但不是我的应用程序
【发布时间】:2016-09-27 10:40:17
【问题描述】:

我已经采取了 Fiddler 站点中描述的每个步骤 here 来捕获我的应用程序(在模拟器中运行)网络数据包。 奇怪的是,我可以解码从浏览器发送的 http/https,但不能解码来自我的应用程序的 https 数据包。更有趣的是请求得到成功的响应!知道可能是什么问题吗?

我完全有货,不知道我应该做什么而没有做什么。

【问题讨论】:

    标签: android android-emulator fiddler


    【解决方案1】:

    我在 Xamarin 论坛上发现的第一个主题是 Why can't Fiddler detect traffic from Xamarin apps?。答案是设置DefaultWebProxy:

        public override void OnCreate()
        {
            // get IP from fiddler's internet icon at the top right, or via ipconfig for VirtualBox used by Genymotion
            WebRequest.DefaultWebProxy = new WebProxy("192.168.56.1", 8888);
            base.OnCreate();
            ...
         }
    

    我把它放在MainActivity,但它并没有解决我的问题。

    对我有帮助的是Debugging HttpClient Calls with fiddler in PCL

    您需要更改代码以使用 HttpClientHandler 和代理

    HttpClientHandler handler = new HttpClientHandler () 
    {
        Proxy = new WebProxy (new Uri("http://[Computer IP]:[Fiddler port number]")),
        UseProxy = true
    };
    using (var client = new HttpClient(handler))
    {
        // Make your call in here
    }
    

    看起来很简单,只是 PCL 出于任何原因在其捆绑的 System.Net dll 中不包含 Web 代理类,因此您需要通过扩展 System.Net.IWebProxy 接口来编写自己的 像这样

    public class WebProxy : System.Net.IWebProxy
    {
        public System.Net.ICredentials Credentials
        {
            get;
            set;
        }
    
        private readonly Uri _proxyUri;
    
        public WebProxy(Uri proxyUri)
        {
            _proxyUri = proxyUri;
        }
    
        public Uri GetProxy(Uri destination)
        {
            return _proxyUri;
        }
    
        public bool IsBypassed(Uri host)
        {
            return false;
        }
    }
    

    完成所有这些之后,我能够在 Android 模拟器上捕获来自我的 Xamarin.Forms 应用程序的请求。

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多