Я пытаюсь изменить UserAgent элемента управления WebBrowser в приложении Winforms.
Я успешно достиг этого, используя следующий код:
[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);
}
Единственная проблема заключается в том, что это работает только один раз. Когда я пытаюсь запустить метод ChangeUserAgent() во второй раз, он не работает. Он остается установленным для первого измененного значения. Это довольно раздражает, и я пробовал все, но он просто не изменится более одного раза.
Кто-нибудь знает о другом, более гибком подходе?
Спасибо