2013-04-22 54 views
1

这是我使用的代码:获取空字符串从QNetworkAccessManager

QNetworkAccessManager *manager = new QNetworkAccessManager(this); 
connect(manager, SIGNAL(finished(QNetworkReply*)), 
      this, SLOT(replyFinished(QNetworkReply*))); 

manager->get(QNetworkRequest(QUrl("https://dl-web.dropbox.com/get/patcher/wait.txt?w=AACu6t8OAIyonlf6zpLX4VQquumCR5I5Tvukdg_e8gXGxg"))); 

这是我的槽:

void MainWindow::replyFinished(QNetworkReply* reply) 
{ 
    qDebug() << reply->readAll(); 
} 

我得到 “” 作为输出。任何理由?

我试图从link得到文本输出。

回答

2

它看起来像这是一个经过身份验证的网址。您必须通过处理由QNetworkAccessmanager发出的authenticationRequired信号来提供身份验证凭据。更多info here

+0

谢谢。我通过将其放入DropBox中的公用文件夹并在https中删除s来修复它。 – user2305688 2013-04-22 03:48:40

+0

哦,我明白了。另外,如果你想通过https保持通信加密,你仍然可以使用https;但你必须做一个调整你的代码:QNetworkReply * reply = manager-> get(QNetworkRequest(QUrl(“https://dl-web.dropbox.com/get/patcher/wait.txt?w=AACu6t8OAIyonlf6zpLX4VQquumCR5I5Tvukdg_e8gXGxg”)) )); reply-> ignoreSslErrors(); – Aki 2013-04-22 14:33:36