|
- typedef QPair<QByteArray, QByteArray> RawHeaderPair;
- static QByteArray readData(const QString &url)
- {
- QNetworkAccessManager Manager;
- QEventLoop Loop;
- QNetworkRequest Request;
- Request.setUrl(QUrl(url));
- QNetworkReply *reply = Manager.get(Request);
- QObject::connect(reply,&QNetworkReply::finished,&Loop,&QEventLoop::quit,Qt::QueuedConnection);
- Loop.exec();
- const QList<RawHeaderPair>& Pairs = reply->rawHeaderPairs();
- int Error = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
- QByteArray Array = reply->readAll();
- if(302==Error || 301==Error)
- {
- for(int i=0;i<Pairs.size();i++)
- {
- if(Pairs[i].first == "location")
- Array = readData(Pairs[i].second);
- }
- }
- return Array;
- }
复制代码 |
|