QNetworkProxy - 绕过某些地址

时间:2018-04-05 14:41:10

标签: c++ windows qt proxy qt5

在我的QT5应用程序(Windows环境)中,我使用以下方式设置应用程序范围的代理:

        QNetworkProxy proxy;
        proxy.setType(QNetworkProxy::HttpProxy);
        proxy.setHostName(proxyHost);
        proxy.setPort(proxyPortInt);

我的客户端有一个代理的例外列表。但是,当我如上所述设置代理时,该异常列表未按预期使用。

在“Internet选项”中,您可以将例外列表指定为: Proxy Exception List

所以我的问题是:

  1. 我可以获得该例外清单吗?
  2. 我可以以某种方式将此例外列表注册到QNetworkProxy吗?
  3. 编辑: 我注意到我可以从注册表中获取该例外列表:

    Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ ProxyOverride
    

1 个答案:

答案 0 :(得分:1)

没有。 QNetworkProxy没有例外列表。如果您使用应用程序范围的代理,那么您可以做的最好的事情是通过调用serverSocket->setProxy(QNetworkProxy::NoProxy)来禁用某些套接字的代理,但是您无法为某些主机名禁用它。如果应该使用代理,则必须在建立连接之前进行检查,然后禁用或设置它。