this trick by Matt Dot numaralı telefonu buldum. Bu, kullanıcı aracı dizesini kalıcı olarak değiştirecektir. İster manuel isterse HTML'nin içinde bir bağlantı tıklaması olsun, WebView
numaralı herhangi bir istek, değerinizi Kullanıcı-Aracı başlığı olarak gönderecektir.
Bağlantının kalması durumunda kaynak İşte.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace UA
{
public static class UserAgent
{
const int URLMON_OPTION_USERAGENT = 0x10000001;
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkGetSessionOption(int dwOption, StringBuilder pBuffer, int dwBufferLength, ref int pdwBufferLength, int dwReserved);
public static string GetUserAgent()
{
int capacity = 255;
var buf = new StringBuilder(capacity);
int length = 0;
UrlMkGetSessionOption(URLMON_OPTION_USERAGENT, buf, capacity, ref length, 0);
return buf.ToString();
}
public static void SetUserAgent(string agent)
{
var hr = UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, agent, agent.Length, 0);
var ex = Marshal.GetExceptionForHR(hr);
if(null != ex)
{
throw ex;
}
}
public static void AppendUserAgent(string suffix)
{
SetUserAgent(GetUserAgent() + suffix);
}
}
}
Sen uygulamanın herhangi bir yerinde bu değeri değiştirmek, ancak kalıcı set istiyorsanız, App.xaml.cs
yapıcısını kullanabilirsiniz:
public App()
{
UA.UserAgent.SetUserAgent("Firefox ;)");
// ...
}
[sanmıyorum yapabilirsiniz] (https: // social.msdn.microsoft.com/Forums/en-US/ea00647f-ba00-45a0-8df0-fa267f073ab9/set-webview-user-agent-string?forum=winappswithcsharp). – DavidG
@DavidG Yorumunuz için teşekkürler, ancak bu Windows 8 içindir. İlk isteği üzerine Kullanıcı Aracısı'nı, MSDN'de bahsedilen MAYBreath olarak değiştirebilirim, ancak farklı bir sayfaya giderken varsayılan olarak değişmeye devam ediyor. – GeorgeChond
Evet, Windows 8 olduğunu biliyorum, bu bağlantı hala geçerli. – DavidG