StupidBeauty
Read times:1137Posted at:Tue Feb 4 20:56:34 2014
- no title specified

Qt4.8文档翻译:QNetworkProxyFactory类参考,QNetworkProxyFactory Class Reference

详细说明

QNetworkProxyFactory类提供了一种精确选择网络代理的机制

QNetworkProxyFactory是对于 QNetworkProxy 的扩展,使得程序可以精确控制代理规则 根据不同的请求来选用不同的代理 。例如,程序可以根据不同的协议或目标主机名来应用不同的设置

QNetworkProxyFactory可以全局地设置为一个程序的代理工厂 ,在那种情况下,它会覆盖掉之前使用 QNetworkProxy::setApplicationProxy ()设置的全局代理 。如果是全局地设置的话 ,则,Qt 创建的任何套接字都会向工厂查询,以决定使用哪个代理。

工厂也可以设置为在支持多个连接的特定框架中使用 ,例如 QNetworkAccessManager 。如果在那种对象中设置的话 ,则只有由那种框架发起的套接字才会向此工厂查询代理信息。

系统代理

妳可以让一个代理工厂使用系统的代理设置 。调用 setUseSystemConfiguration ()函数 ,并且将参数设置为真(true),就可以启用这种行为,设置为假(false)则会禁用这种行为。

类似地 ,妳可以在一个工厂中直接向系统查询对应的代理设置 ,具体办法就是调用 systemProxyForQuery ()函数。

警告: 取决于用户系统上的设置 ,在特定的平台上使用系统的代理功能可能会有一些限制 systemProxyForQuery ()函数的文档中包含有一个列表 ,其中列出了在受影响的平台上的那些限制。

成员函数文档

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

这个函数 ,检查所传入的查询请求 query 中所包含的套接字类型或请求类型的细节 并且返回一个由 QNetworkProxy 对象组成的列表 ,这个列表是按照应当优先采用的顺序排列的,表示着应当使用的那些代理服务器

当妳重写这个类时,要注意,返回的列表中最少包含一个元素。

如果妳无法决定该使用哪个代理才是最好的 ,那么就使用 QNetworkProxy::DefaultProxy ,它将让发起这个请求的代码使用一个更高级的替代品 。例如,如果这个工厂被设置给一个 QNetworkAccessManager 对象 ,则 DefaultProxy会告之那个对象去查询程序级别的代理设置

如果这个工厂被设置为整个程序的代理工厂,则,DefaultProxy和NoProxy是等同的

大波妹

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands