При поиске способа изменения строки пользовательского агента для элемента управления 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открыть, будет ли этот метод все еще работать?
Спасибо!