问题标签 [qnetworkrequest]

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 投票
0 回答
493 浏览

c++ - Qt:如何通过单个 HTTP 请求实时流式传输数据?

我必须通过单个 HTTP 请求实时流式传输数据。目标设备仅在请求如下时处理数据:

setFixedLengthStreamingMode(9999999);在 Java 中,我必须做一些 hack 才能使用对象上的函数使其工作HttpURLConnection。然后我创建请求并使用对象填充正文数据BufferedOutputStream

现在,我正在尝试开发一个基于 Qt 的应用程序来将数据传输到这个设备,但我无法实现它。我试过类似的东西:

另一方面,当我的制作人给我传输数据时,我想做一些类似的东西:

问题是读取网络跟踪(使用 Wireshark),我看到Content-Length发射等于0所以设备关闭连接,我得到一个错误代码NetworkError::RemoteHostClosedError;所以我错过了一些东西,但是什么?任何想法?

0 投票
1 回答
445 浏览

qt - QNetworkAcessManager 在不同计算机上的发布模式下不起作用

我有一个非常奇怪的问题我创建了一个使用 QNetworkAcessManager 下载 HTML 页面并从此页面获取数据的应用程序我发布了我的应用程序以在同一无线连接上的第二台笔记本电脑上使用它,但它不起作用。
在我的计算机上,在发布应用程序并使用 windeploy.exe 获取此版本 exe 的所有 dll 文件后,我尝试在具有 QT 并在其上开发的计算机上使用它,它工作正常并获取文件中的数据。
当我在另一台计算机上使用它时,问题就来了按钮中的代码以获取数据

准备阅读

完成函数我得到QByteArray类型的数据并用它来从中获取数据函数很长
我遇到这个问题大约两个月但我很着急所以我使用libcurl和QProcess来获取这个HTML页面数据但是我现在我想知道导致此问题
更新
的原因 我使用 main.cpp 中的代码来获取文件中的所有 Qt 警告和错误,正如 Macias 的评论中提到的那样,我将它放入我使用的文件中附加到文件中所以我可以得到它带来的所有错误,如果有人可以检查这些警告并查看它是否导致问题,我会从 QSslSocket 收到一些警告,因为我不知道

错误文件

但是在工作计算机中我收到了这个警告




当我在文件夹可执行文件中添加新的 dll 文件时 更新它给了我这个警告


将回复连接到错误信号

插槽在这里


这是我在连接错误信号和属性后得到的


当我将三个 dll 文件添加到我的计算机上的发布文件夹时,我在没有它们的情况下工作的应用程序 当我转到 C:\AppServ\Apache24\bin 的路径并复制这个 dll(libeay32.dll 和 ssleay32 .dll)从这个文件夹而不是我从dll网站下载的其他文件夹,它终于可以工作了,但是appchace文件夹和从网站下载的有什么区别?在此处输入图像描述


提前致谢

0 投票
1 回答
455 浏览

android - QNetworkReply https API 在 Android 设备上不起作用 - QT

我有一个问题,我正在用 qt、cross platoform、ios 和 android 制作一个应用程序。所以当我调用这段代码时:

问题是在android上这个代码不起作用。相反,在 ios 上一切正常。android上的回复是空的。

也许是因为 https url 在 android 调用上产生了问题?我不明白如何解决它。我在清单中设置了设备上的许多权限,设置了互联网权限。

现在,有很多想法可行吗?我正在华硕 zen pad 3s 和 iphone 7 上进行测试。仅在 android 上不起作用。为什么 ?我使用 qt 5.9

提前致谢。

0 投票
0 回答
317 浏览

qt - URL 在 Web 浏览器中打开正常,但使用 QNetworkAccessManager 打开时出错

我正在尝试使用 Qt 访问以下 URL:“ https://www.cyclestreets.net/api/journey.json?itinerarypoints=13.417365,52.513381%7C13.438596,52.519854&key=cdccf13997d59e70&plan=balanced&reporterrors=1&speed=20 ”。如果我在网络浏览器中点击它,它确实会给出一些响应(请自行尝试)。QNetworkReply::NetworkError(UnknownNetworkError)但是,当我尝试使用以下代码进行相同操作时收到错误消息:

知道这怎么可能发生?完全相同的 URL 怎么可能在 Web 浏览器中给出有效响应,但在 Qt 中给出网络错误?任何类型的帮助将不胜感激。

0 投票
1 回答
220 浏览

c++ - QNetworkReply 在发出完成信号时抛出 SIGSEGV

我的应用程序使用QNetworkReply's 从 RESTful API 发送和接收数据。

有许多教程可用于将QNetworkReplyQNetworkAccessManager一起使用

一旦我使用的这样的例子可以在这里或什至在这里找到

基本用法:

// 标题

// 发出请求

// 处理请求

使用类似的实现,我每 X 秒请求一次数据。

问题:

收到finished()信号时,会触发处理回复的代码,但在读取数据时,我得到一个SIGSEGV.

这个问题似乎是随机发生的,因此我无法确定是什么触发了它。

任何建议都会很乐意接受。

0 投票
0 回答
296 浏览

c++ - Qt 网络访问管理器小部件应用程序崩溃

我正在制作一个 gui 应用程序,我将数据发送到我的 Web 服务并接收 JSON 响应。使用调试器,我发现我设法发送数据并从服务器接收响应。但是,应用程序在明文中的值更改之前崩溃。一旦我将AESENkriptiraj中的数组数量更改为两个,我就成功了,但即便如此,向按钮发送垃圾邮件也会使应用程序崩溃。问题可能出在我的线程管理中,但我不知道它是什么。

解密窗口.h

解密窗口.cpp

kriptiraj.h

kriptiraj.cpp

基本上我有两个连接,一个在解密窗口的初始化中,另一个在 kriptiraj 的初始化中。当我运行on_btnKriptirajAES_clicked()时代码继续运行AESENKriptiraj发送一个获取请求,当完成使用连接时运行IzvuciPodatakPoruka返回到运行AESkriptiranoVrati的解密窗口.cpp 连接。之后它崩溃了。

很抱歉命名和其他做法不好,也很抱歉在我的代码中使用母语和英语。

0 投票
1 回答
1236 浏览

c++ - 遵循 QT5.5 中的重定向

我有一个从 Qt 5.6 开始运行良好的程序

不幸的是,这只适用于 Qt 5.6

谁能帮我做Qt5.5(Ubuntu 16.04)的重定向我想我必须手动跟随重定向,但我没有找到关于它的教程。

我找到了 Qt4 -> QNetworkReply 和 301 重定向的解决方案

我希望 Qt5 有更多“更新”的东西。

谢谢

0 投票
1 回答
106 浏览

c++ - 如何获取 QNetworkConfiguration UserChoice 对话框?

Qt docu 说我可以弹出一个让用户选择QNetworkConfiguration. 但是我该怎么做呢?

当我有

我怎么能告诉它我想要对话框。没有setType函数或ctor。我想念什么?还是我只是在错误的平台(Win64)上?

UserChoice 配置是一个占位符,当会话打开时,平台将解析为实际配置。根据平台,选择可能会生成一个弹出对话框,询问用户他的首选选择。

0 投票
0 回答
124 浏览

python - 网址直接在 PyQt4 webview 中

我想知道在 pyqt webview 中进行 url 重定向的最佳方法。以下是我的代码的摘录。我最初是这样做的,web.load(QtCore.QUrl(url))但是我收到以下警告:

使用 QNetworkRequest::setHeader() 来解决这个问题。当我尝试使用 QNetworkRequest 类时,没有任何反应。

0 投票
1 回答
31 浏览

c++ - QNetworkAccessManager连接到2个回复槽,我怎么知道哪个回复属于哪个请求

我的应用程序中有 1 个QNetworkAccessManager,我同时发出 2 个请求。当我从经理那里得到回复时,回复不是按照我打电话给他们的顺序,这是有道理的。我该如何解决这个问题?我应该让另一位经理来清除任何请求队列问题吗?