簡體   English   中英

在QT QNetworkAccessManager中的HTTP獲取請求中獲取空響應

[英]Getting empty response in HTTP get request in QT QNetworkAccessManager

我正在對www.google.co.in進行簡單的HTTP get請求,但響應中卻得到了空字符串。

這是我的代碼:

void MainWindow::on_pushButton_clicked()
{
    QNetworkAccessManager * mgr = new QNetworkAccessManager(this);
    connect(mgr,SIGNAL(finished(QNetworkReply*)),this,SLOT(onfinish(QNetworkReply*)));

    QUrl url("www.google.co.in");
    url.setScheme("http");
    QNetworkRequest request(url);
    request.setHeader(QNetworkRequest::ContentTypeHeader,"application/json");
    mgr->get(QNetworkRequest(QUrl("www.google.co.in")));


}

void MainWindow::onfinish(QNetworkReply *rep)
{
    QByteArray bts = rep->readAll();
    QString str(bts);
    qDebug() << str;

}

Output is :""

向我自己的服務器發布請求時遇到相同的問題。

在專業文件中,我已經完成了QT += core gui network

您必須添加正確的URL,此外,建議您在信號和插槽之間使用新的連接,最后必須刪除QNetworkReply

void MainWindow::on_pushButton_clicked()
{
    QUrl url("https://www.google.co.in/");
    QNetworkAccessManager *mgr = new QNetworkAccessManager(this);
    connect(mgr,&QNetworkAccessManager::finished,this,&MainWindow::onfinish);
    mgr->get(QNetworkRequest(url));

}

void MainWindow::onfinish(QNetworkReply *rep)
{
    QByteArray bts = rep->readAll();
    QString str(bts);
    qDebug() << str;
    rep->deleteLater();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM