问题标签 [qnetworkreply]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
850 浏览

node.js - 出现错误代码时,QNetworkReply readAll 响应为空

当 QNetworkReply::error() != NoError 时,QNetworkReply::readAll 的响应为空。这是正常的吗?

我有一个 Node+Express 服务器,它总是在 http 状态不同 200 的情况下发送详细描述;我无法从 QNAM 上的 Qt 客户端获得此描述。Qt 版本为 5.3,操作系统 Win 7 64b。

这是我的代码,真的我认为这无济于事。

这是我处理响应的地方:

非常感谢你的帮助。

0 投票
1 回答
2995 浏览

qt - 获取简单 URL 时出现 QNetworkReply 错误“连接已关闭”

我正在尝试制作一个简单的文件下载器。这是我下载 URL 的代码段;如果我尝试获取诸如“ http://stackoverflow.com ”之类的简单 URL,则此代码可以正常工作。
但是当我指定重定向的 URL 时,它会抛出一个错误,说“连接已关闭”。

此外,我连接了以下信号槽以识别网络错误:

这是在发出 networkReply 的错误信号时打印错误的插槽:


由于此错误,networkReply对象永远不会收到任何标头。

我的需要是通过这种方法读取 HTTP 状态码:QNetworkReply::attribute(QNetworkRequest::HttpStatusCodeAttribute)

我无法读取 HTTP 状态代码,因为我没有得到标题。

任何人都可以说发生了什么事吗?
提前致谢!:)

0 投票
1 回答
1161 浏览

html - Qt - 发出请求后 QNetworkReply 为空

我正在尝试在线获取网页的 HTML 源代码,我的代码如下:

字符串是空的html,我不知道为什么!

当我将 URL 更改为 Google 的时,它可以工作,有什么问题吗?(因为我没有收到任何错误)

0 投票
1 回答
276 浏览

c++ - 从网站下载文件

我正在寻求有关我的小程序的帮助。我想使用 QNetwork 类从网站下载安装程序 (.exe)。我已经搜索并阅读了很多关于它的帖子,但它不起作用。

下载.cpp:

下载.h:

我已经为 OpenSSL 添加了 dll 并且它可以工作。我还在“.pro”文件中添加了“网络”。但是,当我运行我的程序并单击另一个类的按钮时,initialiseDownload() 正在工作,但信号似乎处于非活动状态。

提前致谢 !

0 投票
1 回答
736 浏览

c++ - 获取从 QNetworkReply 下载的百分比

我正在尝试获取从 QNetworkReply 下载的百分比,因为正在使用以下方式下载文件:

但是当我测试我的程序时,我总是得到:

进度:100

它输出两次,我从来没有得到低于 100 的任何东西。我希望每次下载进度发生变化时都会发出信号。

我怎样才能做到这一点?还是我在代码中犯了一个错误,阻止了它的发生?

编辑:@dubsjw 指出我使用 int 时出现舍入错误。现在,随着时间的推移,对于大图像,我从 0 增加到 100,但对于小图像,我仍然只得到 progress: 0 和 progress: 100 之间没有任何内容。我想发出一个由进度条接收的信号,该信号从 0 平滑增加到 100。我该怎么做?

文件下载器.h:

文件下载器.cpp:

0 投票
1 回答
1114 浏览

c++ - QtNetwork:下载 xml 文件并读取其内容

我有一个 Qt 应用程序,我试图从服务器下载 XML 文件,然后读取文件的内容。不幸的是,我无法将下载文件的内容放入QDomDocument.

这是我尝试过的

我怎样才能做到这一点?

0 投票
1 回答
1252 浏览

c++ - Qt QNetworkReply readAll 在再次请求相同的 url 时返回空

这是出于纯粹的测试目的和我的好奇心。我使用我的 DataDownloader 类从服务器获取数据列表。它适用于不同的 url,例如http://tiny-file-urlhttp://big-file-url。但是如果我传入两个相同的 url,http://tiny-file-urlhttp://tiny-file-url,并且来自http://tiny-file-url的数据很小,那么第二个回复来自 QNetworkAccessManager 是空的。然而,两个http://big-file-url似乎工作。我想知道 QNetworkAccessManager 在从同一个 url 请求小数据时是否有一些魔力?我似乎无法在 Qt 文档站点上获得任何相关信息。

这是我的DataDownloader课:

调用它的代码DataDownloader如下:

0 投票
2 回答
1555 浏览

qt - 没有为 QNetworkAccessManager 的信号完成调用插槽

我想向服务器发送一个发布请求,我做这样的事情:

但是插槽serviceRequestFinished()根本没有被调用!我必须提到,我使用 Wireshark 来跟踪请求/响应,我发现请求(发布)正在发送并且服务器返回状态200(ok)的响应。ret变量也返回true,即信号和槽之间的连接成功。你们中的任何人都知道为什么这不起作用吗?谢谢!:)

编辑

导致问题的代码 - 请参阅我的答案 - 是这样的:

0 投票
0 回答
1445 浏览

qt - 如果代码不是 200,我如何从 QNetworkReply 读取正文

如果 回复,则返回空正文内容reply->error() != QNetworkReply::NoError,但实际上响应有内容。

我该如何阅读它?

0 投票
1 回答
390 浏览

qt - 从 QNetworkReply 获取自定义 QNetworkRequest 对象

这是我得到的代码:

其中 UserInfoRequest 派生自另一个类:

所以问题是:我可以以某种方式将QNetworkRequest对象返回QNetworkReply::request()给我的APIRequest班级吗?如果不可能,那么将我的自定义请求对象从之前列出的代码传递到回复处理程序槽的最佳方法是什么。