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(); }
欢迎讨论,相互学习。
cdtxw@foxmail.com