CefSharp 3 在运行时设置代理

新手上路,请多包涵

我下载了(cefclient 和 cefsimple)c++ 示例附带的 CEF(chromuim 嵌入式框架)二进制分发,并意识到 cefclient 可以在运行时更改代理设置。

关键是抓取 RequestContext 并调用函数 SetPreference。

在 CefClient 上一切正常。

但是在 CefSharp 调用 SetPreference 总是返回 false,并且 HasPreference 也为首选项名称“代理”返回 false。

原文由 Aladdin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
1 个回答

感谢 amaitland 主动强制更改请求上下文首选项的正确方法是在 CEF UIThread 上运行代码,如下所示:

     Cef.UIThreadTaskFactory.StartNew(delegate {
        var rc = this.browser.GetBrowser().GetHost().RequestContext;
        var v = new Dictionary<string, object>();
        v["mode"] = "fixed_servers";
        v["server"] = "scheme://host:port";
        string error;
        bool success = rc.SetPreference("proxy", v, out error);
        //success=true,error=""
    });

原文由 Aladdin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题