Qt5.4开发文档翻译:QNetworkAccessManager类,QNetworkAccessManager Class
表明,是否能够通过这个网络访问管理器来访问到网络。
常量 |
值 |
说明 |
QNetworkAccessManager::UnknownAccessibility |
-1 |
无法确定网络是否可访问。 |
QNetworkAccessManager::NotAccessible |
0 |
当前,无法访问网络,有两个可能的原因:当前确实没有连接到网络;或,之前通过调用 setNetworkAccessible ()显式地禁用了网络访问功能。 |
QNetworkAccessManager::Accessible |
1 |
网络可访问。 |
参考 networkAccessible 。
这个属性表示的是,当前是否能够通过这个网络访问管理器来访问网络。
如果网络当前 是 不可访问的 ,则,该网络访问管理器不会处理任何的新的网络请求,这样的请求都会失败并且返回一个错误码。对于file://模式的URL的请求,仍然会被处理。
默认情况下,这个属性的值会反映设备的物理状态。应用程序可以调用以下函数,以覆盖此行为,禁用掉所有通过此网络访问管理器而进行的网络请求
networkAccessManager->setNetworkAccessible( QNetworkAccessManager ::NotAccessible);
日后,可调用以下函数来重新允许网络请求
networkAccessManager->setNetworkAccessible( QNetworkAccessManager ::Accessible);
注意 :调用setNetworkAccessible()函数不会改变真正的网络状态。
此属性是从Qt 4.7 开始引入的。
访问函数 :
NetworkAccessibility |
networkAccessible() const |
void |
setNetworkAccessible(NetworkAccessibility accessible) |
通知信号 :
void |
networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible) |
当一个最终服务器要求在它传递被请求的内容之前进行认证的话,则,会发射这个信号。连接到这个信号的那个信号槽,应当在 authenticator 对象中填入针对该内容(可通过 reply 对象来确定)的认证信息。
QNetworkAccessManager 会在内部缓存该认证信息,并且,当服务器再次要求认证时发送相同的值,而不会再发射authenticationRequired()信号。如果 服务器拒绝了该认证信息,则会再次发射该信号。
注意 : 如果不希望在该请求中发送认证信息,则, 不要对 authenticator 对象调用setUser()和setPassword()。 这将会导致, 发射 finished ()信号 ,在其附带的 QNetworkReply 中会包含错误码 AuthenticationRequiredError 。
注意 :无法使用QueuedConnection类型来连接这个信号,因为,如果在信号返回时该认证器(authenticator)中仍未被填入新的信息的话,则,此次网络连接会失败。
参考 proxyAuthenticationRequired () 、 QAuthenticator::setUser () 和 QAuthenticator::setPassword () 。
发起一个指向 hostName 主机的 port 端口的连接。这个函数可用来在进行HTTP 请求之前完成与某个主机之间的TCP 握手,以起到降低网络延迟的作用。
注意 : 这个函数不会报告错误。
此函数是从Qt 5.2 开始引入的。
参考 connectToHostEncrypted () 、 get () 、 post () 、 put () 和 deleteResource () 。
使用sslConfiguration ,发起一个指向 hostName 主机的 port 端口的连接。这个函数可用来在进行 HTTPS 请求之前完成与某个主机之间的TCP 和SSL 握手,以起到降低网络延迟的作用。
注意 : 如果 想预先建立一个 SPDY连接 的话, 可这样: 在 sslConfiguration 上调用setAllowedNextProtocols(),并且,在允许的协议列表中包含上 QSslConfiguration::NextProtocolSpdy3_0 。 在使用 SPDY 的情况下,对于 每个主机,使用单个连接就已足够,也就是说,对于 主个主机,多次调用这个方法的话,不会产生加快网络传输 的效果。
注意 : 这个函数不会报告错误。
此函数是从Qt 5.2 开始引入的。
参考 connectToHost () 、 get () 、 post () 、 put () 和 deleteResource () 。
当这个信号被发射时,表明 SSL/TLS会话 在建立的过程中出现了错误,包括证书验证失败的错误。 errors 参数 中包含了错误列表,而 reply 就是发生了这些错误的那个 QNetworkReply 对象。
如果 妳想表明这些错误并非是致命的,并且应当推进该连接的工作流程,则,应当在连接到这个信号的信号槽中调用 QNetworkReply::ignoreSslErrors ()函数。如果 未调用这个函数,那么,此次 SSL会话 会被终止,而不再传输任何数据 (包 括 URL) 。
这个信号,可用来:向用户显示一条错误信息以表明安全性可能会降低;并且显示出当前的SSL设置信息(参考sslConfiguration()以了解如何获取它)。如果用户在观摩了对端主机的证书之后决定继续访问,则,该信号槽中应当调用ignoreSslErrors()。
参考 QSslSocket::sslErrors () 、 QNetworkReply::sslErrors () 、 QNetworkReply::sslConfiguration () 和 QNetworkReply::ignoreSslErrors () 。
阿尔罕布拉宫
科幻世界
Your opinions
HxLauncher: Launch Android applications by voice commands