Qt利用QNetwork实现上传数据的示例代码 您所在的位置:网站首页 qt发送get请求 Qt利用QNetwork实现上传数据的示例代码

Qt利用QNetwork实现上传数据的示例代码

2023-04-07 05:57| 来源: 网络整理| 查看: 265

目录1、利用Qt提供的类实现向服务器发送post和get请求2、实现文件上传1、利用Qt提供的类实现向服务器发送post和get请求#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma execution_character_set("utf-8") void sendPostRequest() { QNetworkAccessManager *m_pHttpMgr = new QNetworkAccessManager(); //设置url QString url = "http://localhost:80/post"; //设置头信息 QNetworkRequest requestInfo; requestInfo.setUrl(QUrl(url)); requestInfo.setHeader(QNetworkRequest::ContentTypeHeader,QVariant("application/json")); //requestInfo.setRawHeader("Content-Type","application/json");//服务器要求的数据头部 //requestInfo.setRawHeader("Accept","text/json,*/*;q=0.5");//服务器要求的数据头部 //发送数据 QJsonObject regionObject; regionObject.insert("name","333"); regionObject.insert("height", "2"); regionObject.insert("dir", "0"); QJsonArray pointAry; pointAry.append(0.8); pointAry.append(1.0); pointAry.append(0.0); pointAry.append(1.8); pointAry.append(2.0); pointAry.append(0.0); regionObject.insert("points", QJsonValue(pointAry)); QJsonObject jsonObject; jsonObject.insert("Code", "asss"); jsonObject.insert("parentId", 0); jsonObject.insert("depot", "past"); jsonObject.insert("region", QJsonValue(regionObject)); QJsonDocument jsonDoc; jsonDoc.setObject(jsonObject); QByteArray qByteHttpData = jsonDoc.toJson(); QNetworkReply *reply = m_pHttpMgr->post(requestInfo, qByteHttpData); //添加事件循环机制,返回后再运行后面的 QEventLoop eventLoop; QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit())); eventLoop.exec(); //block until finish //错误处理 if (reply->error() != QNetworkReply::NoError) { qDebug()error()是Qt定义的错误码,可以参考QT的文档 qDebug( "request protobufHttp found error ....code: %d %d\n", statusCodeV.toInt(), (int)reply->error()); qDebug(qPrintable(reply->errorString())); } //请求收到的结果 QByteArray responseByte = reply->readAll(); QString strRes = responseByte; qDebug()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有