Qt网络编程:QNetworkProxyFactory

一、描述

QNetworkProxyFactory 是 QNetworkProxy 的扩展,允许应用程序根据请求代理的socket对使用哪些代理服务器进行更细粒度的控制。此类有个抽象类(含有一个纯虚函数)且方法都是静态的,所以这是一个工具类。

二、成员函数

1、[static] QList<QNetworkProxy> proxyForQuery(const QNetworkProxyQuery &query)

检查socket代理设置详细信息,返回一个 QNetworkProxy 对象列表,指示要使用的代理服务器。

 2、[pure virtual] QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query = QNetworkProxyQuery())

检查socket代理设置详细信息,返回一个 QNetworkProxy 对象列表,指示要使用的代理服务器。

重新实现此类时,请注意至少返回一个元素。如果无法确定更好的代理替代方案,请使用 QNetworkProxy::DefaultProxy,它告诉查询代理的代码使用更高的替代方案。 例如,如果此工厂设置为 QNetworkAccessManager 对象,则 DefaultProxy 将告诉它查询应用程序级代理设置。

 3、[static] void setApplicationProxyFactory(QNetworkProxyFactory *factory)

设置应用程序范围的代理工厂。

当所有其他代理选择请求返回 QNetworkProxy::DefaultProxy 时,应用程序范围的代理用作最后的手段。例如,QTcpSocket 对象可以有一个使用 QTcpSocket::setProxy()设置的代理,但如果没有设置,则会查询使用此函数设置的代理工厂类。

如果使用此函数设置代理工厂,则使用 QNetworkProxy::setApplicationProxy() 设置的任何应用程序级别代理都将被覆盖,并且 usesSystemConfiguration() 将返回 false。

4、[static] void setUseSystemConfiguration(bool enable) 

允许使用特定于平台的代理设置,并且仅限这些设置。在 enable 设置为 true 的情况下调用此函数会重置已设置的任何代理或 QNetworkProxyFactory。

5、[static] QList<QNetworkProxy> systemProxyForQuery(const QNetworkProxyQuery &query = QNetworkProxyQuery())

检查socket代理设置详细信息,返回一个 QNetworkProxy 对象列表,指示要使用的代理服务器。

此函数可用于确定特定于平台的代理设置。此函数将使用操作系统提供的库来确定给定连接的代理(如果存在此类库)。如果没有,这个函数将只返回一个 QNetworkProxy::NoProxy 类型的 QNetworkProxy

6、[static] bool usesSystemConfiguration() 

是否启用特定于平台的代理设置。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值