【Qt-11】http通信(Get同步收发)

2023-11-08

【Qt-9】HTTP请求(post方式)_WXG1011的博客-CSDN博客

【QT-6】QWebApp服务器搭建及使用_qtwebapp_WXG1011的博客-CSDN博客

写在前面:在上面两篇博文的基础上,继续迭代功能。

上面两篇博客已实现QWebApp服务器搭建、http通信发送请求及接收响应数据等功能。下面实现多层http通信。

 采用异步接收响应数据时一直报无法读取内存的错误,故采用同步接收响应数据的方式。这里http请求方式采用Get形式。

伪代码如下:

void MeasurementController::PostRequestM(QString url)
{
	//http请求
	QNetworkRequest request1;
	QNetworkAccessManager nam;
	//connect(&nam, &QNetworkAccessManager::finished, this, &MeasurementController::receivePostReply);

	qDebug() << "request data!";
	request1.setUrl(QUrl(url));    //实时请求网址
	qDebug() << "request end!";
	//request1.setUrl(QUrl("http://10.1.101.195:8085/measurement"));    //实时请求网址

	//请求头token设置
	/*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.post(request1, byte_array);        //post请求头+传输的数据
	QNetworkReply* reply = nam.get(request1);        //get请求头


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

	QString strMessage = "";//错误信息
	QString strResult = "";//http响应
	QByteArray array;
	if (reply->isFinished())
	{
		if (reply->error() == QNetworkReply::NoError)//正常结束,读取响应数据
		{
			strResult = reply->readAll();
			qDebug() << strResult;
			res = strResult.toUtf8();
		}
		else//异常结束,比如不存在的http服务器,错误信息:Connection refused
		{
		}
	}
	else//超时,错误信息:Operation canceled
	{
		disconnect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
		reply->abort();
		qDebug() << "[" << __FILE__ << "]" << __LINE__ << __FUNCTION__ << " timeout";
	}

	QNetworkReply::NetworkError e = reply->error();
	if (e)
	{
		strMessage = reply->errorString();
	}
	reply->deleteLater();
}

 参考链接 Qt发起http请求,get和post方式,并接收响应数据_qt发送http请求_架相的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Qt-11】http通信(Get同步收发) 的相关文章

  • 使用 Django 发出 HTTP 请求并反序列化输出

    因此 我对整个 Web 开发几乎完全陌生 但已经投入到一个使用 Django 从 Web 服务中提取和解析数据的副项目中 并且即使在查看 Django 时 我也很难准确地理解事情是如何工作的 文档 在 Django 中 我已经完成了所有设置
  • 如何在纯 HTML 页面中返回特定的 HTTP 状态代码

    Google 建议当网站暂时不可用时返回 503 HTTP 响应 我有一些纯 HTML 网站 如何在纯 HTML 网站中返回 503 状态 我使用的是带有 Apache 的 Linux 机器 您必须在服务器上而不是在 HTML 文件中设置状
  • 如何在 Laravel 中禁用 JSON 响应的分块编码?

    我从 Laravel 中的控制器方法返回一个数组 Laravel 将此解释为我想发送 JSON 这很好 但它没有设置Content Length并改为使用Transfer Encoding chunked 我的回复很小 所以我不想把它们分块
  • 静默地将 api 资源移动到另一个 url

    我已经用 WepApi 2 编写的 api 与主网站紧密结合 我决定将其与另一个网络应用程序解耦 以使事情更加隔离 我遵循了这样的步骤 将所有 API 控制器提取到另一个项目 创建属性以将当前使用旧 URL 的所有用户重定向到新 URL 由
  • Java HttpURLConnection:内容长度计算

    我目前正在为 bitbucket issues RESTful API 开发一个库 我取得了很大的进步 现在我要解决这个部分更新问题 http confluence atlassian com display BBDEV Issues Is
  • 是否可以阻止在每个 HTTP 请求中发送 cookie?

    我最近发现 这里 每个网络请求都会发送浏览器cookie吗 https stackoverflow com questions 1336126 does every web request send the browser cookies
  • 使用传输编码分块的 HTTP 响应中的最大块大小是多少?

    The w3 org RFC2616 http www w3 org Protocols rfc2616 rfc2616 sec3 html sec3 6 1似乎没有定义块的最大大小 但是如果没有最大块大小 则没有空间用于块扩展 必须有一个
  • Jsoup http 日志记录

    有没有办法记录http请求和响应 我们假设以下请求 Connection Response res Jsoup connect LOGIN URL HERE data user USER pass PASS method Connectio
  • .htaccess 路由到服务器上的子目录?性能/加载时间

    我想知道是否可以使用 htaccess 文件将我的域直接路由到服务器上的子目录 我从常规虚拟主机提供商处购买了虚拟主机软件包 其中我的domain com 连接到我的服务器的根目录 我想知道是否可以以某种方式将 htaccess 文件上传到
  • 身份验证中的随机数使用

    在基于摘要的身份验证中 随机数由服务器生成 然而 在基于 OAuth 的身份验证中 随机数是由客户端生成的 我想知道是否有人知道差异的原因 随机数用于使请求唯一 在没有随机数的身份验证方案中 恶意客户端可以生成一次请求并重放多次 即使计算成
  • Angular4如何使用flatMap链接forkJoin

    我所处的情况是 我需要进行 5 个可以并行执行的 http 调用 在这五个调用之后需要执行另一个 http 调用 我在前 5 个中使用了 forkJoin 但我不知道如何链接 flatMap 或其他函数 forkJoin firstObse
  • 在 Java Servlet 应用程序中设置 HTTP 201 响应的 Location 标头的正确方法是什么

    考虑以下代码向客户端发送 HTTP 201 已创建 响应 String url app things id 42 example response setStatus HttpServletResponse SC CREATED respo
  • 您可以从 AuthorizeAttribute 返回 HTTP 响应而不引发异常吗?

    我在各种控制器上使用 AuthorizeAttribute 可能需要根据请求本身的某些属性返回 403 或 429 请求过多 我完全在自定义 OnAuthorization 实现中实现了它 然后在必要时抛出一个带有适当响应代码的新 Http
  • 在 Flex 中以 HTTP Post 方式上传任意数据

    我们目前有一个 Java 小程序 可以生成大量数据并将其上传到我们的服务器 我们拥有的上传方法之一是使用 HTTP POST 到我们的服务器 其内容只是原始数据 没有多部分编码或任何内容 我正在考虑实现一个具有相同功能的 Flex 应用程序
  • HTTP 和 HTTPS iframe

    我正在创建一个小部件 我想允许其他人使用它 这iframe通过 HTTP 加载 但我想允许用户通过 HTTPS 登录 即通过 SSL 发送登录请求 同源策略中允许这样做吗 即 场景是用户可以将我的 JavaScript 集成到他们的网站 小
  • HttpRequest PUT内容到poco库中

    我想使用 HTTP PUT 请求将一些数据从 C 应用程序发送到服务器 我在用poco http pocoproject org我的应用程序中的网络库 我正在使用这个代码片段 HTTPClientSession session uri ge
  • .NET 中有什么方法可以以编程方式侦听 HTTP 流量吗?

    我正在使用浏览器自动化来测试网站 但我需要验证来自浏览器的 HTTP 请求 即图像 外部脚本 XmlHttpRequest 对象 有没有一种方法可以以编程方式实例化代理以供浏览器使用以查看其发送的内容 我已经在使用 Fiddler 来监视流
  • Chrome 在传输一定量的数据后挂起 - 等待可用的套接字

    我有一个浏览器游戏 最近我开始向游戏添加音频 Chrome 无法加载整个页面并卡在 91 requests 8 1 MB transferred 并且不再加载任何内容 它甚至破坏了所有其他选项卡中的网站 说Waiting for avail
  • HTTP代理服务器

    我开始研究一个用 C 编写的非常基本的 HTTP 代理服务器 Edit 只是转发我的请求的东西 此时我很难理解如何继续 任何帮助都会有益的 看一眼micro proxy http acme com software micro proxy
  • Django 响应总是用 text/html 分块无法设置内容长度

    在我的Django应用程序的views py中 我在尝试设置以下HTTP标头字段后返回一个HttpResponse对象 Create a Response Object with the content to return response

随机推荐

  • securecrt破解版64位

    securecrt 破解版是一款支持SSH1和SSH2的终端仿真程序 这个程序能够在windows系统中登陆UNIX或Linux的服务器主机并且还能进行管理设置 是一款非常强大的ssh传输软件 是用于连接运行包括Windows UNIX和V
  • 激发新动能 多地发力数字经济

    发力数字经济 地方正紧锣密鼓展开新一轮规划部署 近期 云南 陕西 江苏 江西等多地出台相关举措 明确未来几年数字经济核心产业发展目标 并进一步完善资金 人才等配套政策 相关专家表示 发展数字经济是把握新一轮科技革命和产业变革新机遇的战略选择
  • 学习日记——时钟温湿计_Demo

    程序例程 如果成功接入则进入SNTP初始化 如果连接时候wifi错误或者是密码错误进入微信智能配网 以上步骤和微信智能配网相同 增加了SNTP初始化这一步 配网成功也执行SNTP初始化 SNTP初始化执行完毕之后每隔一秒种获取网络时间 并且
  • 【解决】控制台解析preview和response数据不一致,并使用transformResponse修改响应数据

    问题 控制台解析preview和response数据不一致 比如 id 1246000001606460673 会被默认解析成 id 1246000001606460700 在Preview 预览功能 中 控制台会把发送过来的json数据自
  • C++ 性能优化篇四《优化字符串的使用:案例研究》

    只有少数人才能触摸到魔法琴弦 string 可是聒噪的名声却企图击败他们 悲哀于那些从来都不歌唱的人们 死亡时却要带着他们的音乐陪葬 奥利弗 温德尔 霍姆斯 1 无声 1858 C 的 std string 类模板是 C 标 准 库 中 使
  • 转贴:华为 SmartAX MT800 固件升级(升级为VC100R004C01B010)并开启路由全过程(2004年8月7日更新) [精华]

    http bbs pcshow net cgi bin threaded show cgi tid 350483777 h 1 bpg 1 age 1 请认真的看上面的文章 如果软件版本低的话 要升级 1为升级工具 2为升级的软件包 升级之
  • 正式发布!中国首个LF Edge捐赠项目Baetyl 2.2发布

    Baetyl作为中国首个加入LFEdge基金会的边缘计算项目 自2019年由百度捐赠以来 在开放中立的社区环境中得到不断的支持与发展 在众多活跃的贡献者的努力下 Baetyl实现了更多具有挑战性的功能 正式升级为Baetyl v2 2版本
  • 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。

    定义栈的数据结构 请在该类型中实现一个能够得到校的最小元素的min函数 在该栈中 调用pop push 及min的时间复杂度都是0 1 param
  • pyqt5 QGraphicsView内缩放显示的图像

    from PyQt5 QtWidgets import QApplication QGraphicsView QGraphicsScene QGraphicsItem QGraphicsPixmapItem from PyQt5 QtCor
  • log4j-slf4j-impl cannot be present with log4j-to-slf4j 之类的问题,解决maven依赖冲突

    如题所示 本文主要用户解决maven的依赖冲突 并提供通用的解决方案 先放错误 SLF4J Class path contains multiple SLF4J bindings SLF4J Found binding in jar fil
  • 【Android】Room新手快速入门

    Room是什么 Room是Google推出的一款android平台上的ORM数据库框架 它类似于GreenDao 但比GreenDao更加简洁高效 是官方推荐使用的数据库框架 引入Gradle依赖 Room api androidx roo
  • 私有仓库修改docker.json报错

    我试了目前网上所有方法都不行自己摸索了很久 提供一种解决方案 找到你的阿里云镜像加速器 重新把配置阿里云镜像的那几行linux代码 再执行一次 然后紧接着马上去 etc docker daemon json加你的私有仓库http配置 再重启
  • NUC980开源项目31-can总线调试

    上面是我的微信和QQ群 欢迎新朋友的加入 以CAN0为例 在内核中配置 文件系统支持 重新烧录 启动 正常挂载 CAN终端测试 查看CAN接口 root myir ls sys class net can0 eth0 lo usb0 wla
  • docker部署fisco bcos区块链浏览器

    首先你要搭建一个myql数据库 理论上mariadb也支持 并创建一个数据库 再建个账号给区块链浏览器使用 如 CREATE DATABASE fisco CHARACTER SET utf8mb4 COLLATE utf8mb4 bin
  • [Excel VBA]如何自动关闭MsgBox?

    本文译至 http itpro nikkeibp co jp atcl column 15 090100207 090700150 VBA的MsgBox函数 直到用户点击按钮前都会继续显示 经过指定时间后自动关闭的MsgBox 可以使用Wi
  • 中高级程序员需求技能

    初级 中级 1 团队精神和协作能力 把它作为基本素质 并不是不重要 恰恰相反 这是程序员应该具备的最基本的 也是最重要的安身立命之本 把高水平程序员说成独行侠的都是在呓语 任何个人的力量都是有限的 即便如linus这样的天才 也需要通过组成
  • Unity发送Post请求

    using System Collections using System Text using UnityEngine using UnityEngine Networking public class PostMsg MonoBehav
  • CSDN竞赛第34期题解

    CSDN竞赛第34期题解 1 题目名称 最优利润值 你在读的经营课程上 老师布置了一道作业 在一家公司的日常运营中 是会对一些商品的价格走势根据一些经验和数据 进行预估 并据此进行决策 例如 假设某商品每天的价格都有可能变动 我们要做的就是
  • 从URL取值传给后端

    从URL传值给后端 http 127 0 0 1 8080 blog content html id 8 点击浏览文章详情 跳转至详情页面 从 url 中拿出文章 id 传给后端 首先拿到url 然后判断是否有值 从问号后面取值 param
  • 【Qt-11】http通信(Get同步收发)

    Qt 9 HTTP请求 post方式 WXG1011的博客 CSDN博客 QT 6 QWebApp服务器搭建及使用 qtwebapp WXG1011的博客 CSDN博客 写在前面 在上面两篇博文的基础上 继续迭代功能 上面两篇博客已实现QW