QT QNetworkReply::ProtocolUnknownError接受数据为空时通过reply->error()查看错误-无可用信息,未为 Qt5Networkd.dll 加载任何符号

//接收get请求返回的数据
void http_request::receiveGetReply(QNetworkReply* reply)
{
QString ret = reply->readAll();
qDebug() << "http_request::receiveGetReply recive:" << ret<< reply->error();
emit SendGetData(ret);
}

http_request::receiveGetReply recive: "" QNetworkReply::ProtocolUnknownError

0x000001fe53b20910 <无可用信息,未为 Qt5Networkd.dll 加载任何符号>,可能是URL链接错误,前后是否有空格,参考txwtech.

//get请求
void http_request::Get(QString url)
{
    QNetworkRequest request1;
    QNetworkAccessManager nam;
    connect(&nam, &QNetworkAccessManager::finished, this, &http_request::receiveGetReply);

    //get与post的请求方式有所不同,get是在接口名后添加 ? 和传输的数据(type)
   // request1.setUrl(QUrl("http://123.12.365.152/接口名?type"));
    request1.setUrl(QUrl(url));
    request1.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=utf-8"));
    QString token = "xxxxxxxxxxxxxxxxxxxxxxxx";
    QString token_headerData = token;
    request1.setRawHeader("token", token_headerData.toLocal8Bit());

    QNetworkReply* reply = nam.get(request1);    //get请求头


    //开启事件循环,直到请求完成
    QEventLoop loop;
    connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
    loop.exec();
}

 

posted @ 2024-12-09 21:09  txwtech  阅读(193)  评论(0)    收藏  举报