0

我正在尝试实现一个简单的下载器。但我被卡住了,因为我的回复和它的标题是空的。

#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QtDebug>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QtQuick2ApplicationViewer viewer;
    viewer.setMainQmlFile(QStringLiteral("qml/reply/main.qml"));
    viewer.showExpanded();

    QUrl url("http://www.speedtest.qsc.de/10MB.qsc");
    QNetworkRequest request( url );
    request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
    QByteArray range;
    range = "bytes=" + QByteArray::number( 0 ) + "-";
    request.setRawHeader("Range", range );
    QNetworkAccessManager accessManager;
    QNetworkReply* reply = accessManager.get( request );
    qDebug() << __FILE__ << ":" << __LINE__ << reply->size();
    QList<QByteArray> headerFields = reply->rawHeaderList();
    qDebug() << __FILE__ << ":" << __LINE__ << headerFields.count();
    for( qint64 i = 0; 0 < headerFields.count(); i++ ) {
        QString string( headerFields.at(i));
        qDebug() << __FILE__ << ":" << __LINE__ << string;
    }

    return app.exec();
}

我该怎么做才能让我的回复不再是空的?提前致谢!

4

1 回答 1

0

我使用了多个QNetworkAccessManager,所以这就是导致问题的原因,因为我不知道每个应用程序应该只使用一个。

于 2013-11-06T06:34:34.983 回答