Je tente de modifier l'UserAgent du contrôle WebBrowser dans une application Winforms.Modification de l'agent utilisateur du contrôle WebBrowser
J'ai réalisé avec succès ce en utilisant le code suivant:
[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()
{
List<string> userAgent = new List<string>();
string ua = "Googlebot/2.1 (+http://www.google.com/bot.html)";
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, ua, ua.Length, 0);
}
Le seul problème est que cela fonctionne qu'une seule fois. Lorsque j'essaie d'exécuter la méthode ChangeUserAgent() pour la deuxième fois, cela ne fonctionne pas. Il reste défini sur la première valeur modifiée. C'est assez énervant et j'ai tout essayé mais ça ne changera pas plus d'une fois.
Est-ce que quelqu'un connaît une approche différente, plus flexible?
Merci
J'ai essayé la méthode ci-dessus, mais cela n'a pas fonctionné pour WPF (System.Windows.Controls.WebBrowser) –