问题标签 [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.
qt - 在 QNetworkAccessManager 中,何时从解析 DNS 的 IP 列表中选择 IP?
我正在使用 QnetworkAccessManager 发出 HTTP 请求,我想知道 FQDN 何时被解析(DNS 解析)以获取 IP 地址或 IP 地址列表。
QNetworkAccessManager 如何从已解析的 IP 列表中选择 IP 来发送请求?
QNetworkAccessManager 是否保留 DNS 解析的缓存?
c++ - 无法通过 QNetworkAccessManager 获取 url(结果与我在浏览器中看到的不同)
我的项目使用 QT 4.8.2。我的问题是 QTNetworkAccess 无法正确获取我的网址(或解码)。如果我将我的网址粘贴到浏览器,我会看到浏览器中的结果与我在结果中看到的不同(QNetworkreply)。
这是我需要获取的示例网址:* https://myhost/folder/folder/rss?cn1%5B0%5D=Web%2C+Mobile+%26+Software+Dev&cn2%5B0%5D=Web+Development
或者,没有 urlencode:** https://myhost/folder/folder/rss?cn1[]=Web%2C+Mobile+%26+Software+Dev&cn2[]=Web+Development
我尝试将 QUrl 作为 * 和 ** 传递。
这是我得到的代码:
也许,我的问题是 url 中的“+”符号......但我不知道。我可以提供我需要测试的完整链接。
请帮忙。
qt - 从 QNetworkReply 读取写入文件
假设我已经执行了 aQNetworkRequest
并获得了适当的QNetworkReply
. 如果它是一个大文件(比如 1 GB),我如何创建一个 4k 字节数组缓冲区并将 4k x 4k 的数据读取到该数组中并同时将其写入打开的文件流?例如,等效的 C# 代码是这样的(我熟悉 C# 而不是 Qt):
- - 编辑
实际上,我正在尝试做的是在每次运行我的应用程序时下载恢复功能。每次我尝试恢复下载时,我都会设置range
标题QNetworkRequest
并获取其余数据,因此不需要立即写入数据,而是逐步写入数据。
qt - QNetworkAccessManager - 如何发送“PATCH”请求
我正在尝试向我的 firebase 应用程序发送“PATCH”请求。据我所知,QNetworkManager 不支持“Patch”请求。
如何发送“PATCH”请求?
c++ - 使用 c++ QNetworkRequest 获取 HTTPS 站点内容
我正在尝试通过 VS2010 c++ 环境使用 Qt 框架(QNetworkRequest)获取站点的内容(json 字符串)。我从 HTTP 站点读取数据没有问题,但是当我尝试读取 HTTPS 站点的内容时,我没有运气。另一方面,浏览器可以“看到”网站内容。我认为这是证书的问题,但我并不完全确定。我只能从 Firefox 访问 ca.pem(我导出的)。我为 cert.pem 和 key.pem 使用了虚拟 pem 文件,这样我就不会留空。不幸的是,我无法以其他方式获取这些文件。
我收到错误 99 代码,描述为“私钥不验证公钥,错误:140A80B1:SSL 例程:SSL_CTX_check_private_key:未分配证书”。所以应该是虚拟密钥证书的错误。
但是我不能停止想知道浏览器怎么可能“看到”内容并且通过我不能的代码?是否有可能找到工作?
我的代码如下:
qt - 使用 readyRead() 使用 QNetworkAccessManager / QNetworkReply 下载会吃掉我的 RAM
我有以下设置和场景:
- QT/QML-应用程序运行,可以触发下载一个 20MB 的文件到
/tmp/IMAGE
(使用QNetworkManager()
,QNetworkReply()
,readyRead()
) /tmp
是一个 ramdisk - 有 40+MB 的可用空间(当 QT/QML 应用程序正在运行时)- 在 QT/QML 应用程序运行时,我可以轻松地
wget
将 20MB 文件/tmp/IMAGE
但是,当尝试通过 QT/QML 应用程序下载文件时(使用QNetworkManager()
,QNetworkReply()
和readyRead()
-signal,qt/qml 应用程序甚至在实际下载一半文件之前就被内存不足的杀手杀死了(根据downloadProgress()
和的大小/tmp/IMAGE
)。
据我了解,readyRead()
它是专门为部分下载块、将其写入磁盘、清除其使用的 RAM 以及下载和写入下一个块而设计的。
然而,这种方法似乎比使用方法消耗更多的内存wget
——在下载了 10MB 的文件之后,Qt/QML 应用程序有一个我无法解释的巨大内存占用。
我基本上在做什么,它将readyRead()
我的插槽与我命名的插槽连接起来partialDownloadFinished()
:file->write(reply->readAll());
我还检查了块大小是否可能会变大 via bytesAvailable()
,但似乎也并非如此。
我的下一个猜测是数据的下载速度比写入(ram)磁盘的速度要快,但似乎也并非如此。
所以我被困住了。有人对此有任何线索或暗示吗?
非常感谢!
qt - 如何确定什么是 QNetworkRequest 方法(获取或发布)?
当我使用 QWebView 浏览网站并使用QWevView.Page().networkAccessManager().finished
信号监控请求时,我如何确定什么是 taht 请求方法(Post 或 Get)?
这是我的代码:
c++ - QNetworkReply 错误:网络访问被禁用
我正在使用 QNetworkRequest/QNetworkReply 下载文件。在成千上万人使用的旧程序版本上,它可以完美运行(VS 2010 编译器)。升级到 Visual Studio 2015 并使用 XP 目标重新编译整个项目(与 OpenSSL 相同的过程)后,一些用户在启动下载时开始收到错误:
网络访问被禁用。
错误记录在连接到来自 QNetworkReply::NetworkError 的 error() 信号的插槽中。
代码:
我设法在其中一台受影响的机器上安装了 Wireshark,但没有向 Internet 发出请求,因此它从一开始就失败了。到目前为止,我无法找出导致这些机器出现问题的原因。操作系统版本无关紧要,尝试禁用 AV/防火墙等。我也无法找到返回的错误字符串的任何详细信息。
该代码适用于 90% 的人,并已从 XP SP3 到 Windows 10 进行了测试。
可能是什么问题,我该如何调试呢?
qt - QNetworkAccessManager - 如何发送 MultiPart “PATCH” 请求
这个问题是对 QNetworkAccessManager - How to send “PATCH” request 的补充。
QNetworkAccessManager 没有方法
我坚持使用 Qt 4.8-bb10。我应该如何进行?
qt - 获取http代码请求
U 使用 QNetworkRequest 发送发布请求。如何获取请求的 HTTP 代码?我向服务器发送了一些请求,在服务器上我可以看到我的请求,但我必须检查哪个服务器将返回给应用程序的 http 代码。