В поисках способа изменить строку пользовательского агента для элемента управления 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 static void ChangeUserAgent(string Agent)
{
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, Agent, Agent.Length, 0);
}
По сути, мне нужен был способ изменить пользовательский агент, пока я не захочу изменить его снова.
Обычный:
webBrowser1.Navigate ("http://www.whatsmyuseragent.com", "_self" , null, "User-Agent: Luke's Web Browser");
Работает только на один запрос.
Однако я продолжаю читать везде, что первый метод работает только один раз за сеанс. В моем случае это работает столько раз, сколько я хочу. Итак, я предполагаю, что это связано с экземпляром Internet Explorer на компьютере?
Итак, мои вопросы:
- Какую версию должен установить конечный пользователь на свой компьютер, чтобы этот метод работал должным образом? IE. меняй сколько хочу.
- Поскольку это связано с Internet Explorer, установленным на компьютере, влияет ли изменение пользовательского агента в моем приложении на браузер?
- Если у пользователя открыт Internet Explorer, будет ли этот метод работать?
Спасибо!