StupidBeauty
Read times:2789Posted at: - no title specified

Qt5.4开发文档翻译:QNetworkAccessManager,QNetworkAccessManager Class

成员类型文档

enum QNetworkAccessManager::​NetworkAccessibility

表明,是否能够通过这个网络访问管理器来访问到网络。

常量

说明

QNetworkAccessManager::UnknownAccessibility

-1

无法确定网络是否可访问。

QNetworkAccessManager::NotAccessible

0

当前,无法访问网络,有两个可能的原因:当前确实没有连接到网络;或,之前通过调用 setNetworkAccessible ()显式地禁用了网络访问功能。

QNetworkAccessManager::Accessible

1

网络可访问。

参考 networkAccessible

属性文档

networkAccessible  :  NetworkAccessibility

这个属性表示的是,当前是否能够通过这个网络访问管理器来访问网络。

如果网络当前 不可访问的 ,则,该网络访问管理器不会处理任何的新的网络请求,这样的请求都会失败并且返回一个错误码。对于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)

成员函数文档

[signal] void  QNetworkAccessManager::​ authenticationRequired ( QNetworkReply  *  reply QAuthenticator  *  authenticator )

当一个最终服务器要求在它传递被请求的内容之前进行认证的话,则,会发射这个信号。连接到这个信号的那个信号槽,应当在 authenticator 对象中填入针对该内容(可通过 reply 对象来确定)的认证信息。

QNetworkAccessManager 会在内部缓存该认证信息,并且,当服务器再次要求认证时发送相同的值,而不会再发射authenticationRequired()信号。如果 服务器拒绝了该认证信息,则会再次发射该信号。

注意 如果不希望在该请求中发送认证信息,则, 不要对 authenticator 对象调用setUser()和setPassword()。 这将会导致, 发射 finished ()信号 ,在其附带的 QNetworkReply 中会包含错误码 AuthenticationRequiredError

注意 无法使用QueuedConnection类型来连接这个信号,因为,如果在信号返回时该认证器(authenticator)中仍未被填入新的信息的话,则,此次网络连接会失败。

参考 proxyAuthenticationRequired () QAuthenticator::setUser () QAuthenticator::setPassword ()

void  QNetworkAccessManager::​ connectToHost (const  QString  &  hostName quint16 port  = 80)

发起一个指向 hostName 主机的 port 端口的连接。这个函数可用来在进行HTTP 请求之前完成与某个主机之间的TCP 握手,以起到降低网络延迟的作用。

注意 这个函数不会报告错误。

此函数是从Qt 5.2 开始引入的。

参考 connectToHostEncrypted () get () post () put () deleteResource ()

void  QNetworkAccessManager::​ connectToHostEncrypted (const  QString  &  hostName quint16 port  = 443, const  QSslConfiguration  &  sslConfiguration  = QSslConfiguration::defaultConfiguration())

使用sslConfiguration ,发起一个指向 hostName 主机的 port 端口的连接。这个函数可用来在进行 HTTPS 请求之前完成与某个主机之间的TCP 和SSL 握手,以起到降低网络延迟的作用。

注意 如果 想预先建立一个 SPDY连接 的话, 可这样: sslConfiguration 上调用setAllowedNextProtocols(),并且,在允许的协议列表中包含上 QSslConfiguration::NextProtocolSpdy3_0 在使用 SPDY 的情况下,对于 每个主机,使用单个连接就已足够,也就是说,对于 主个主机,多次调用这个方法的话,不会产生加快网络传输 的效果。

注意 这个函数不会报告错误。

此函数是从Qt 5.2 开始引入的。

参考 connectToHost () get () post () put () deleteResource ()

[signal] void  QNetworkAccessManager::​ sslErrors ( QNetworkReply  *  reply , const  QList < QSslError > &  errors )

当这个信号被发射时,表明 SSL/TLS会话 在建立的过程中出现了错误,包括证书验证失败的错误。 errors 参数 中包含了错误列表,而 reply 就是发生了这些错误的那个 QNetworkReply 对象。

如果 妳想表明这些错误并非是致命的,并且应当推进该连接的工作流程,则,应当在连接到这个信号的信号槽中调用 QNetworkReply::ignoreSslErrors ()函数。如果 未调用这个函数,那么,此次 SSL会话 会被终止,而不再传输任何数据 (包 URL)

这个信号,可用来:向用户显示一条错误信息以表明安全性可能会降低;并且显示出当前的SSL设置信息(参考sslConfiguration()以了解如何获取它)。如果用户在观摩了对端主机的证书之后决定继续访问,则,该信号槽中应当调用ignoreSslErrors()

参考 QSslSocket::sslErrors () QNetworkReply::sslErrors () QNetworkReply::sslConfiguration () QNetworkReply::ignoreSslErrors ()

阿尔罕布拉宫

科幻世界

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

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4