相关疑难解决方法(0)

更改WebBrowser控件的用户代理

我试图在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);
}
Run Code Online (Sandbox Code Playgroud)

唯一的问题是这只能工作一次.当我尝试第二次运行ChangeUserAgent()方法时,它不起作用.它保持设置为第一个更改的值.这很烦人,我已经尝试了一切,但它不会改变不止一次.

有谁知道一种不同的,更灵活的方法?

谢谢

c# user-agent webbrowser-control winforms

44
推荐指数
3
解决办法
8万
查看次数

标签 统计

c# ×1

user-agent ×1

webbrowser-control ×1

winforms ×1