问题标签 [qnetworkaccessmanager]

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 回答
747 浏览

qt - Qt QNetworkAccessManager get 不适用于所有网站

知道为什么此代码适用于某些网页而某些网页不适用吗?

使用 www.google.fi 它会打印源代码,但例如。www.ampparit.com 不起作用。没有重定向。

谢谢

0 投票
2 回答
4224 浏览

c++ - 如何允许 QNetworkAccessManager 在单独的线程中运行 HTTP 请求

我希望 QNetworkAccessManager 在单独的线程中运行 HTTP 请求。目前在 QT4.6 中,它在同一个线程中运行,这会导致我的浏览器挂起。此功能最近在 QT 4.8 中引入,但现在我无法切换到 QT 4.8。因此我想在 QT 4.6 中为 QNetworkAccessManager 实现这个。

谁可以帮我这个事?

0 投票
3 回答
5311 浏览

file - 检查文件是否等于其他文件

好吧,我的服务器上有一个文件,而我的计算机上有另一个文件。我想做的是一个简单的更新程序,它检查我的计算机的文件是否等于服务器中上传的文件。(如果相等则未更新,如果不相等则下载)

我正在使用 QNetworkAccessManager 下载文件。任何的想法?

0 投票
1 回答
1390 浏览

php - QT Network 回复不会给我来自 PHP 脚本的结果

大家好,我有一个问题。我正在将 QT 与 php 脚本连接起来。一切正常,但是有人可以帮助我如何从它接收 php 结果。这是我的代码:

我在论坛上发现我需要使用这个功能:

但是ofc我没有在这个函数中得到任何东西..是否可以从QT管理器变量中读取?我正在接收 xml 结果。我想把它作为 QDomDocument 可能吗?如果您有时间,请给我一些提示或示例。谢谢!

0 投票
1 回答
333 浏览

c++ - C++ QNetworkAccessManager (Qt) 结合 openGL

我真的不喜欢 C++(正如我之前的帖子所提到的),但是我的朋友建议我使用 QNetworkAccessManager 如果我想发送一个 HTTP GET 请求来发送信息。

我目前正在使用 openGL-es 并希望执行以下两行代码来发送 get 请求:

但是,它不喜欢“this”,因为它在 main() 方法中并且没有引用 QObject(我猜是 QApplication)。当我摆脱“this”时,我的应用程序构建,但从未加载(我在顶部放置了一个“printf(1)”,它甚至没有运行)。

有关如何解决此问题的任何建议或替代方法?提前致谢。

-詹姆士

0 投票
3 回答
6607 浏览

c++ - QMutexLocker 中的 QThread ASSERT 失败:“QMutex 指针未对齐”,

我正在尝试创建一个将创建新线程的上传器,并且在每个线程中我都有一个 QNetworkAccessManager。所有的上传线程都有一个对共享列表的引用,并将通过使用开始和结束索引来拆分它。

上传器看起来像这样:

然后,在 run() 函数中,我创建了新的 RestFileUploader(this)(几乎是一个创建自己的新 QNetworkAccessManager(this) 并在其上放置请求的对象),以便在构造函数中没有创建任何内容(这将导致它最终进入主线程?)。run 函数创建一个请求给 QNetworkAccessManager,然后什么都不做,直到发出“finished(QNetworkReply)”的信号,然后我抓住下一个(依此类推,直到列表被单步执行)。

然后我在主应用程序中创建了两个新线程,当我使用 run() 启动它们时,它可以工作,只是两个线程上的 ID 相同。如果我改为调用“start()”,它会崩溃:QObject:无法为位于不同线程中的父级创建子级。(Parent是FileUploader(0x2580748),parent的线程是QThread(0x4fb2b8),当前线程是FileUploader(0x2580748)

但!就在我开始单步执行列表之前,我打印了 threadId,它们不再相同。

我做错了什么还是应该这样做:http: //labs.qt.nokia.com/2006/12/04/threading-without-the-headache/

编辑:

我更改了它并重命名了 run 以启动并制作了这个包装器(并且我不再使用“this”调用 NetworkAccessManager 或 RestFileUploader):

上传一个对象时有效,因为那时我只使用一个线程。但是,当我有更多要拆分的对象时,应用程序会因以下错误消息而残酷地崩溃:

请帮我

编辑:

文件上传器.cpp

所以... 1 个线程要上传一件事 == 好的。两个线程上的 2 个对象也可以。当我尝试在两个线程上上传 3 个或更多对象时,一切都变得糟糕透顶。

此外,它是否与 UI 在我更改文件的同时读取文件信息有关?

编辑:由于某种原因,当我在 Visual Studio 中编译它时,我的应用程序现在可以在 4.8.0 中运行。它可能与版本 4.7.4 有关吗?

0 投票
1 回答
372 浏览

c++ - QNetworkAccessManager 中的并行化机制是什么?

我正在使用 Qt 4.7.4 中的 QtNetwork 为 VLC 2.0 编写 HTTP 访问模块。我的代码片段如下:

相同的代码在 Windows 7 上运行良好,但在 OS X Lion 上会被阻止。exec() 之后的事件循环永远不会退出()。我也尝试从另一个线程访问reply->bytesAvailable(),它总是返回0。我猜原因可能与QNetworkAccessManager中的并行机制有关,当父线程被阻塞后nam无法让任何时间槽工作时通过 QEventLoop。

谁能给我一些建议,为什么事件循环只会在 Mac 上被阻止,以及我可以做些什么来绕过这个问题以使 QNetworkAccessManager 在不创建另一个 QThread 的情况下工作?

顺便说一句,正在使用的 Qt 是使用 Carbon 框架 (qt4-mac) 构建的 macports 上的最新版本。

0 投票
1 回答
1025 浏览

c++ - 保存 QNetworkReply

我希望能够将 QNetworkReply 保存到 QString/QByteArray。在我看到的示例中,他们总是将流保存到另一个文件中。

目前我的代码看起来像这样,我从主机获取一个字符串,我要做的就是解析它以查找指定的错误代码。

该消息非常小,看起来像这样:

那么如何将这个小流加载到内存中,或者只是查找错误代码?

0 投票
2 回答
3097 浏览

c++ - 无法从 QNetworkAccessManager 访问 Ssl 错误列表

我正在做一个项目,我试图通过 REST 请求向我们的网络服务发送请求。首先,我只将finished(QNetworkReply*)信号连接到一个插槽,但由于 ssl 问题,它永远无法完成,我也尝试连接sslErrors(QNetworkReply*, const QList<QSslError>&)插槽,因为请求是 https。

然后在我的打印功能中,我无法以任何方式访问错误列表。

我试过:

或者

这导致:

错误 C2079:'test' 使用未定义的类 'QSslError'
错误 C2440:'initializing':无法从 'const QSslError' 转换为 'int'

或者

错误 C2027:使用未定义类型 'QSslError'
错误 C2228:'.toString' 左侧必须有类/结构/联合

此外,IntelliSense 强调errorstest带有以下消息:

IntelliSense:不允许不完整的类型

(请注意,当我这样做时它不会抱怨errors.count()

我包含<QSslError>在头文件中...

我一直在为 sslError 信号苦苦挣扎,几周前我什至无法将信号连接到任何东西,因为它“不存在”。我错过了一个模块还是什么?

谢谢你的帮助

编辑:

仍然收到错误:

Object::connect: 没有这样的信号 QNetworkAccessManager::sslErrors(QNetworkReply*, const QList&)

另外,无法检查我是否有 SSL

由于 QSslSocket 是未定义的,即使它被包含在内。我必须在这里缺少一些重要的东西,对吗?我必须安装一些东西吗?我完全迷失在这里:(

0 投票
1 回答
426 浏览

windows - QNetworkRequest 不工作

我有一个 Qt 应用程序,我在 Windows 7 x64 SP1 下使用 Qt 4.8.1 部署,但使用 32 位编译。应用程序使用QNetworkAccessManagerQNetworkRequestQNetworkReply通过 HTTPS 与服务器通信。我已经在五台不同的机器上成功地测试了这个连接。在第六台机器上,我去测试这个连接失败了QNetworkReply::NetworkError UnknownNetworkError。这台机器可以在网络浏览器中访问 URL,并且通信正常。此外,我能够在同一网络上使用不同的计算机并成功地与我的应用程序建立连接。有没有人有任何想法可能导致这种行为?此外,我在 Qt 版本 4.7.4 和 4.8.1 中看到了这种行为。