Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QNetworkProxyFactory Class Reference
[QtNetwork module]

该QNetworkProxyFactory类提供细粒度的代理选择。More...

Methods

Static Methods


Detailed Description

该QNetworkProxyFactory类提供细粒度的代理选择。

QNetworkProxyFactory是一个扩展QNetworkProxy,允许应用程序有一个更细粒度控制哪些代理服务器使用,这取决于插座请求代理。这使得应用程序可以应用不同的设置,根据该协议或目的地的主机名,例如。

QNetworkProxyFactory可以全局设置的应用程序,在这种情况下,它会复盖设置任何全局代理QNetworkProxy.setApplicationProxy( ) 。如果全局设置,使用Qt创建的套接字将查询的工厂,以确定要使用的代理服务器。

一个工厂也可以支持多个连接特定的框架,比如设置QNetworkAccessManager。当这样的对象设置,该工厂将被询问只有该框架创建的套接字。

System Proxies

您可以配置一个工厂使用系统代理设置。调用setUseSystemConfiguration( )函数真正要启用此行为,或虚假禁用它。

同样,您可以使用一个工厂通过调用进行查询,直接到系统代理其systemProxyForQuery()函数。

Warning:根据用户的系统配置,使用在某些平台上系统代理的功能可能会受到限制。该systemProxyForQuery( )文档中包含的这些限制对于那些受影响的平台列表。


Method Documentation

QNetworkProxyFactory.__init__ (self)

创建QNetworkProxyFactory对象。

QNetworkProxyFactory是一个抽象类,你不能创建类型的对象QNetworkProxyFactory直接。

QNetworkProxyFactory.__init__ (self, QNetworkProxyFactory)

list-of-QNetworkProxy QNetworkProxyFactory.proxyForQuery (QNetworkProxyQuery query)

这个函数接受查询请求,query,检查插座或请求的类型的详细信息,并返回一个列表QNetworkProxy对象表示要使用的代理服务器,按优先顺序。

list-of-QNetworkProxy QNetworkProxyFactory.queryProxy (self, QNetworkProxyQuery query = QNetworkProxyQuery())

这种方法是抽象的,应在任何子类中重新实现。

这个函数接受查询请求,query,检查插座或请求的类型的详细信息,并返回一个列表QNetworkProxy对象表示要使用的代理服务器,按优先顺序。

当重新实现这个类,照顾到返回至少一个元素。

如果你不能确定一个更好的指标替代,使用QNetworkProxy.DefaultProxy,它告诉在查询代理来使用更高的替代的代码。举例来说,如果这家工厂被设置为QNetworkAccessManager对象, DefaultProxy会告诉它来查询应用程序级代理设置。

如果这家工厂被设置为应用程序代理工厂, DefaultProxy和NoProxy将具有相同的含义。

QNetworkProxyFactory.setApplicationProxyFactory (QNetworkProxyFactory factory)

factory说法有它的所有权转移给Qt的。

设置应用程序范围内的代理工厂是factory。此功能需要该对象的所有权,并在必要时将其删除。

应用范围的代理作为最后手段时返回的所有其他选择代理请求QNetworkProxy.DefaultProxy。例如,QTcpSocket对象可以有一个代理设置QTcpSocket.setProxy ,但如果没有设置,代理工厂类在此项功能设置将会被查询。

如果您设置了代理工厂使用此功能,设置QNetworkProxy.setApplicationProxy任何应用程序级代理将被改写。

See also QNetworkProxy.setApplicationProxy( )QAbstractSocket.proxy()和QAbstractSocket.setProxy( ) 。

QNetworkProxyFactory.setUseSystemConfiguration (bool enable)

允许使用特定于平台的代理服务器设置,只有那些。看systemProxyForQuery( )获取更多信息。

在内部,与调用时这个方法(enable设置为True )设置一个应用程序范围的代理工厂。由于这个原因,这种方法是相互排斥的setApplicationProxyFactory( ) :调用setApplicationProxyFactory( )会复盖系统的使用范围内的代理,并调用setUseSystemConfiguration ()将复盖先前设置的任何应用程序代理或代理工厂。

Note:请参阅systemProxyForQuery()文档中的限制与使用系统代理列表。

此功能被引入Qt的4.6 。

list-of-QNetworkProxy QNetworkProxyFactory.systemProxyForQuery (QNetworkProxyQuery query = QNetworkProxyQuery())

这个函数接受查询请求,query,检查插座或请求的类型的详细信息,并返回一个列表QNetworkProxy对象表示要使用的代理服务器,按优先顺序。

此功能可用于确定特定于平台的代理服务器设置。此函数将使用由操作系统提供的库来确定代理对于一个给定的连接,如果这样的库存。如果他们不这样做,这个函数将只返回一个QNetworkProxy类型QNetworkProxy.NoProxy

在Windows上,这个功能将使用WinHTTP的DLL函数。尽管它的名字,微软建议使用它需要网络连接的所有应用程序,而不仅限于HTTP 。这将尊重注册表与Proxycfg.exe工具设定的代理服务器设置。如果找不到这些设置,此功能将尝试获取Internet Explorer的设置和使用它们。

在MacOS X ,这个函数将使用来自苹果的SystemConfiguration中框架获得代理设置。它将应用FTP,HTTP和HTTPS代理配置包含协议标籤“ ftp”的疑问, “ http”和“ https”开头,分别为。如果SOCKS代理在该配置中启用,该功能将使用SOCKS服务器的所有查询。如果SOCKS没有启用,它会使用HTTPS代理所有的TCPSocket和的URLRequest查询。

黑莓,这个函数获取代理服务器设置为使用系统配置的默认配置。类型将根据协议标籤“ http”的设定,以“https ”,“ ftp”的分别。默认情况下,它假定HTTP类型。代理服务器的用户名和密码,使用系统配置在查询过程中也设置。

在其他系统上,此功能将拿起代理设置从“ HTTP_PROXY ”环境变量。此变量必须使用下列方案之一的URL : “ HTTP ” , “ SOCKS5 ”或“ socks5h ” 。

Limitations

这些都为这功能的当前版本的限制。 Qt的未来版本可能会解除一些在这里列出的限制。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5