在 Qt 中,DefaultProxy 表示该对象继承应用的代理选择。它并不表示“直接连接”,单凭名称也不能保证已经发现某个特定的操作系统设置。

选项意图
DefaultProxy使用应用级策略
NoProxy请求直接连接
显式的 HTTP 或 SOCKS 代理使用给出的端点和代理类型

例如,应用可以建立一个共享的HTTP 代理:

QNetworkProxy::setApplicationProxy(
    QNetworkProxy(QNetworkProxy::HttpProxy, "proxy.example", 8080));

来自HTTP 代理列表的 HTTP 地址可以为获准的公开请求提供示例中的主机和端口,且无需代理认证。使用继承选择的管理器随后就能遵循该策略。而拿到显式端点或 NoProxy 的管理器,则是有意做出了本地选择。

当应用应当跟随操作系统时,请使用受支持的 QNetworkProxyFactory 系统配置接口。要把这个发现决策与某个具体 socket 或管理器所用的 enum 值分开。

在建立相关连接之前配置该选择。Qt 文档说明,在已经连接的 socket 上更改代理设置并不会把该连接迁移到新端点。

相关文章