我正在使用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
提前感谢
答案 0 :(得分:0)
您是否尝试将QNetworkRequest构建为:
QNetworkRequest(QUrl(Link))
没有'toEncoded'?
根据示例here,您需要使用QUrl::fromEncoded从编码网址中构建QUrl,或者只是跳过所有操作。
答案 1 :(得分:0)
我解决了这个问题,但因为我在网络开发方面有一点经验,所以我不知道为什么会这样 当我从普通网络浏览器firefox或任何或使用互联网下载管理器应用程序下载文件时,我解决了这个问题 来自:
http://www.proz.com/ht/profile_resources/009424_r57075c01ae812.pdf
到:
http://cdn3.proz.com/profile_resources/009424_r57075c01ae812.pdf
因此,当我复制第二个链接时,它现在可以从我的应用程序或使用Curl下载,但是不知道对此的解释,所以如果有人可以帮助并解释这个,为什么会发生这种情况,并且链接在我更改时更改在互联网下载管理器,并给我新的链接,我将不胜感激 这是我如何解决问题,但没有解释为什么会发生这种情况