如何为不同的 QWebEnginePage 实例设置不同的代理?

Posted

技术标签:

【中文标题】如何为不同的 QWebEnginePage 实例设置不同的代理?【英文标题】:How to set different proxies for different QWebEnginePage instances? 【发布时间】:2016-03-22 09:50:24 【问题描述】:

我们可以使用QNetworkAccessManagerQWebPage 实例提供set 代理。 QWebEnginePage 不支持这种方式。

从 QT 5.6 开始支持使用 QNetworkProxy::applicationProxy() added 添加代理。但看起来这是为所有应用程序的 QWebEnginePage 实例设置单一代理的方法。

有没有办法为不同的QWebEnginePage 实例设置不同的代理?

【问题讨论】:

您有没有发现任何解决方法? @Midhun,我没有检查 QT 5.8 中是否发生了变化,但根据这个线程仍然没有办法做到这一点:forum.qt.io/topic/75058/… 我想知道我们是否只是将选项卡作为单独的进程并为每个进程设置不同的代理,然后使用窗口句柄将每个进程窗口加载到主进程窗口? 【参考方案1】:

很遗憾,我认为这是不可能的。我不确定为什么它没有实现,但我猜 Chromium 并没有公开 API 来这样做。

【讨论】:

以上是关于如何为不同的 QWebEnginePage 实例设置不同的代理?的主要内容,如果未能解决你的问题,请参考以下文章

XML De/Serialization:如何为类的不同实例的相同属性定义不同的名称

如何为类的每个实例创建实例特定的方法?

Django CMS如何为同一个apphook的2个实例使用不同的url

在sql创建数据库表时,如何为字段设一个默认值

一个 QWebEnginePage 用于两个或多个 QWebEngineView

jQuery如何为指定标签添加和删除一个样式