gpt4 book ai didi

c++ - 使用 QNetworkAcessManager 通过直接链接下载文件

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:01 26 4
gpt4 key购买 nike

我正在使用 QNetworkAcessManager 从这里的链接直接链接下载 pdf 文件但它没有下载任何内容,QByteArray 大小为 0 我在 mp3 文件和许多其他文件的另一个链接上尝试它并且它工作正常但我想知道为什么无法下载此链接我尝试使用 Curl 下载它和同样的问题所以我尝试用 Java 来做,但它给了我一个错误

 Exception in thread "main" java.net.MalformedURLException: no protocol: www.proz.com/ht/profile_resources/022198_r4551c465d7a53.doc

当我搜索这个错误时,它的解决方法是对其进行编码,所以我再次返回并在 Qt 中进行并使用它对 URL 进行编码

//using QUrl To endcode the link
reply = manager->get(QNetworkRequest(QUrl(QUrl(Link).toEncoded())));
connect(reply, SIGNAL(readyRead()), this, SLOT(CollectFile()));
connect(reply, SIGNAL(finished()), this, SLOT(DocDownloaded()));

但编码后 java 和 Qt 都存在同样的问题,所以是什么导致了这个问题,为什么它没有使用 QNetworkacessManager 或使用 Curl 下载任何解决方案
更新我要下载的文件的网址

http://www.proz.com/ht/profile_resources/009424_r57075c01ae812.pdf

提前致谢

最佳答案

您是否尝试过将 QNetworkRequest 构造为:

 QNetworkRequest(QUrl(Link))

没有'toEncoded'?

根据例子here , 你需要使用 QUrl::fromEncoded从编码的 url 构造 QUrl,或者简单地跳过所有操作。

关于c++ - 使用 QNetworkAcessManager 通过直接链接下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43429168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com