QNetworkAccessManager类可以向服务器发送请求和接受应答。
QNetworkAccessManager类是网络访问API的主要部分,包含了对请求的配置与设置,还有监控网络操作过程的应答信号,以及其他相关信号。
简单事例如下:
QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
manager->get(ANetworkRequest(QUrl("http://qt.nokia.com")));
当replyFinished(QNetworkReply*)被调用后,下载的数据和metadata会保存在QNetworkReply中。
当数据返回后,需要用户在合适的时间来删除QNetworkReply,不要直接在与finished相关联的槽中直接删除,可以使用deleteLater()删除。
QNetworkAccessManager会把收到的请求排队处理。
Public Types
| enum | NetworkAccessibility { UnknownAccessibility, NotAccessible, Accessible } |
| enum | Operation { HeadOperation, GetOperation, PutOperation, PostOperation, DeleteOperation, CustomOperation } |
Properties
- networkAccessible : NetworkAccessibility
- 1 property inherited from QObject
Public Functions
| QNetworkAccessManager ( QObject * parent = 0 ) | |
| ~QNetworkAccessManager () | |
| QNetworkConfiguration | activeConfiguration () const |
| QAbstractNetworkCache * | cache () const |
| QNetworkConfiguration | configuration () const |
| QNetworkCookieJar * | cookieJar () const |
| QNetworkReply * | deleteResource ( const QNetworkRequest & request ) |
| QNetworkReply * | get ( const QNetworkRequest & request ) |
| QNetworkReply * | head ( const QNetworkRequest & request ) |
| NetworkAccessibility | networkAccessible () const |
| QNetworkReply * | post ( const QNetworkRequest & request, QIODevice * data ) |
| QNetworkReply * | post ( const QNetworkRequest & request, const QByteArray & data ) |
| QNetworkReply * | post ( const QNetworkRequest & request, QHttpMultiPart * multiPart ) |
| QNetworkProxy | proxy () const |
| QNetworkProxyFactory * | proxyFactory () const |
| QNetworkReply * | put ( const QNetworkRequest & request, QIODevice * data ) |
| QNetworkReply * | put ( const QNetworkRequest & request, QHttpMultiPart * multiPart ) |
| QNetworkReply * | put ( const QNetworkRequest & request, const QByteArray & data ) |
| QNetworkReply * | sendCustomRequest ( const QNetworkRequest & request, const QByteArray & verb, QIODevice * data = 0 ) |
| void | setCache ( QAbstractNetworkCache * cache ) |
| void | setConfiguration ( const QNetworkConfiguration & config ) |
| void | setCookieJar ( QNetworkCookieJar * cookieJar ) |
| void | setNetworkAccessible ( NetworkAccessibility accessible ) |
| void | setProxy ( const QNetworkProxy & proxy ) |
| void | setProxyFactory ( QNetworkProxyFactory * factory ) |
- 29 public functions inherited from QObject
Signals
| void | authenticationRequired ( QNetworkReply * reply, QAuthenticator * authenticator ) |
| void | finished ( QNetworkReply * reply ) |
| void | networkAccessibleChanged ( QNetworkAccessManager::NetworkAccessibility accessible ) |
| void | proxyAuthenticationRequired ( const QNetworkProxy & proxy, QAuthenticator * authenticator ) |
| void | sslErrors ( QNetworkReply * reply, const QList<QSslError> & errors ) |
- 1 signal inherited from QObject
Protected Functions
| virtual QNetworkReply * | createRequest ( Operation op, const QNetworkRequest & req, QIODevice * outgoingData = 0 ) |
版权声明:本文为daisyZH原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。