更改WP8.1 WebView中的用户代理

本文关键字:用户代理 WebView WP8 更改 | 更新日期: 2023-09-27 18:17:15

这是针对Windows Phone的。我使用的是windowsphone8.1 update 1。你知道它的网络界面和安卓和iOS的一样。如何在我的wp8.1 web应用程序中获得相同的界面?我下载并安装了WP8.1 Update 1 SDK。当我打开一个新项目时,我没有看到Wp8.1更新1版本可供选择。WP8.1或青色更新后的用户可以获得更新后的web界面吗?

更改WP8.1 WebView中的用户代理

Windows Phone 8.1 Update 1没有为开发者引入任何新的公共api。

如果你在Windows Phone 8.1 XAML项目中使用WebView(又名WebBrowser)控件,并且你想为整个会话指定一个不同的用户代理,使用…

[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
public void ChangeUserAgent(string Agent)
{
    UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, Agent, Agent.Length, 0);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
    ChangeUserAgent("My Custom User-Agent");
    wb.Navigate(new Uri("http://basquang.wordpress.com/2014/04/26/wp8-1-changing-windows-phone-8-1-webview-default-user-agent-in-all-outbound-http-requests/", UriKind.Absolute));
}
来源:basquang on clouds博客

这个帖子的另一个选项https://social.msdn.microsoft.com/Forums/en-US/e7954cf9-88ba-4318-aebf-f528ade5c13d/still-no-way-to-set-ua-string-in-81-webview?forum=w81prevwCsharp由_Pete回答

HttpRequestMessage httpRequestMessage = 
new HttpRequestMessage(HttpMethod.Post, new Uri("website"));
httpRequestMessage.Headers.Append("User-Agent", 
                "Custom User-Agent"); 
webView.NavigateWithHttpRequestMessage(
httpRequestMessage);

显然它只适用于一个Uri