【发布时间】:2010-10-30 13:40:30
【问题描述】:
我正在尝试在 Winforms 应用程序中更改 WebBrowser 控件的 UserAgent。
我已经通过使用以下代码成功实现了这一点:
[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() 方法时,它不起作用。它保持设置为第一个更改的值。这很烦人,我已经尝试了所有方法,但它不会改变不止一次。
有人知道另一种更灵活的方法吗?
谢谢
【问题讨论】:
-
我尝试了上面的方法,但它不适用于WPF(System.Windows.Controls.WebBrowser)
标签: c# winforms webbrowser-control user-agent