【问题标题】:Custom User Agent for a WebViewWebView 的自定义用户代理
【发布时间】:2015-08-25 01:06:02
【问题描述】:

我可以为WebView 设置自定义用户代理吗?

我需要展示网站的移动风格。

【问题讨论】:

    标签: windows-8 microsoft-metro


    【解决方案1】:

    这很容易做到:

    string ua = "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X)" + "AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25";
    var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, new Uri(url));
    httpRequestMessage.Headers.Add("User-Agent",ua);
    webView1.NavigateWithHttpRequestMessage(hrm);
    

    【讨论】:

      【解决方案2】:

      根据这个MSDN Forum posting 你不能。您能否托管一个轻量级代理服务(例如 Azure 网站)来为您代理请求?

      【讨论】:

      • 谢谢吉姆。是的,使用代理当然是一种解决方案。我想知道我是否可以不使用它来管理它。
      【解决方案3】:

      您可以使用自定义用户代理加载 HTML,然后将 html 传递给 WebView

      正在加载 html

      var handler = new HttpClientHandler {AllowAutoRedirect = false};
      var client = new HttpClient(handler);
      client.DefaultRequestHeaders.Add("user-agent",
                                       "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; 
                                        WOW64; Trident/6.0)");
      var response = await client.GetAsync(url);
      response.EnsureSuccessStatusCode();
      var html = await response.Content.ReadAsStringAsync();
      

      将 html 分配给 WebView

      WebView.NavigateToString(html);
      

      【讨论】:

      • 谢谢。这实际上是我想到的第一件事。但它变成了一种严重的痛苦。用户无法导航或任何东西。对于某些网站,您需要设置的不仅仅是 User-Agent。
      猜你喜欢
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多