如何在C#中更改Chromium嵌入式框架中的用户代理?

8

请帮我在Visual C#中更改Chromium嵌入式框架的用户代理。它使用默认的Chromium代理,但我想将其更改为使用我的浏览器名称。


仅供参考,我发现CefSharp 51.0.0的默认值为“User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36”。 - CRice
4个回答

11

使用CefSettings.UserAgent可以设置用户代理。此外,还可以通过“user-agent”命令行开关进行配置。


请详细地、一步一步地向我解释。 - user3463182
3
CefSettings 是一个类,在初始化步骤中需要传递该实例。请查看示例。没有它,您将无法初始化CEF,因此我认为不需要逐步解释。请阅读示例。C ++ 和 C#都有相似的实现方式,非常简单。 - Dmitry Azaraev
我的意思是在我的项目中应该使用哪些标签、命名空间等? - user3463182
我不明白您需要什么额外的细节。如果您是CEF用户,那么您应该了解CefSettings类。 - Dmitry Azaraev
你找到了CefSettings类吗?它有一个UserAgent属性。应该将其传递给CefRuntime.Initalize方法。 - Dmitry Azaraev
显示剩余3条评论

7

我知道这是一个老问题,但这可能会帮助到某些人, 使用以下代码来更改cef-sharp 3x的用户代理

ChromiumWebBrowser chromiumBrowser;

public Form1()
{

    InitializeComponent();

     CefSettings cfsettings=new CefSettings();
     cfsettings.UserAgent = "My/Custom/User-Agent-AndStuff";
     Cef.Initialize(cfsettings);

     chromiumBrowser = new CefSharp.WinForms.ChromiumWebBrowser("http://whatsmyuseragent.com/")
     {
        Dock = DockStyle.Fill,

     };


     this.Controls.Add(chromiumBrowser);

}

2
您可以使用以下代码更改Chromium中的用户代理:

您可以通过此代码更改Chromium中的用户代理

CefSettings settings = new CefSettings();
settings.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1";

1

步骤如下:

  • 下载XIlium cefglue并更新dll文件。如果需要帮助,请使用http://umaranis.com/2013/10/16/how-to-embed-chrome-browser-in-net-application/
  • 打开您的xilium cefglue应用程序。
  • 在解决方案资源管理器中打开CefRuntime.cs文件。
  • 其中将有一个public static void Initialize(CefMainArgs args, CefSettings settings, CefApp application, IntPtr windowsSandboxInfo)方法,在该方法中编写settings.UserAgent = "Sonal";
  • 重新构建并运行应用程序。
  • 在浏览器中输入以下网址:http://whatsmyuseragent.com/
  • 您可以找到用户代理为Sonal

希望这能帮到您


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接