我正在开发一个UWP应用程序,并有一个带有WebView的页面。在WebView中,我需要将用户代理设置为自定义值。
我尝试过以下几种:
var requestMessage = new HttpRequestMessage(HttpMethod.Get, baseUri);
requestMessage.Headers.Add("User-Agent", "MyCustomValue");
webview.NavigateWithHttpRequestMessage(requestMessage);
但是,WebView不使用我的自定义用户代理,而是使用用户代理的原始默认值。MSDN上的这个线程证实了这一点。
任何对替代解决方案或解决方案的良好投入都将受到赞赏。
似乎只有在执行POST时才支持它,而不是GET。
也许这篇博客文章可以让你更接近一个解决方案:https://basquang.wordpress.com/2014/04/26/wp8-1-changing-windows-phone-8-1-webview-default-user-agent-in-all-outbound-http-requests/
试试看:
var rm = new Windows.Web.Http.HttpRequestMessage(HttpMethod.Get, new Uri("https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending"));
rm.Headers.Add("User-Agent", "test");
rm.Headers.Add("NSASESSIONID", "CA79AB9B-21CD-43BE-A48A-49B5F1289D22");
WebView.NavigateWithHttpRequestMessage(rm);
它对我有效。