c++ - 使用 libcurl 访问被拒绝下载文件

标签 c++ qt curl libcurl

我正在用 qt c++ 开发一个应用程序,它从网站下载文件并进行处理。

我在 qt 中使用 libcurl 来下载文件。

我正在使用链接示例下载文件: "http://www.nseindia.com/content/historical/EQUITIES/2014/OCT/cm01OCT2014bhav.dbf.zip "

当我使用浏览器下载此文件时,它会被下载。但是,当我使用 libcurl 下载文件时,我在控制台中得到的回复是 access denied

我尝试使用 libcurl 从同一程序下载一些其他文件,例如 curl libbrary,只是替换了 url,然后它运行良好。 示例:“http://mirrors.kernel.org/sources.redhat.com/cygwin/x86_64/release/curl/curl-7.37.1-1.tar.xz

在libcurl中有没有什么需要用到的,比如代理之类的? 或者它的服务器功能不允许自动下载?

谢谢。

最佳答案

尝试类似的东西(指定用户代理并重定向到一个文件,这是在你的 linux shell 上)

curl -A "Mozilla/4.0" http://www.nseindia.com/content/historical/EQUITIES/2014/OCT/cm01OCT2014bhav.dbf.zip >yourfile.dbf.zip

编辑: 刚刚意识到您正在通过您的 C++ 代码下载它。 上面的示例表明托管文件的服务器具有基于用户代理的权限。因此,在您的代码中,您需要指定一个类似“Mozilla/4.0”的虚拟用户代理,它应该返回文件的缓冲区。

关于c++ - 使用 libcurl 访问被拒绝下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26142295/

相关文章:

c++ - 如何使用Frama-Clang解析C++程序

c++ - MSVC++ 扩展 iostream 时出错

c++ - QSql数据库 : QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

curl - 将 curl --data-urlencode 转换为 Ansible uri 模块

c++ - 二进制 '[' : no operator found which takes a left hand operand of type 'const SortableVector<int>'

c++ - 如何将删除器传递给 make_shared?

关于 SSL 的 PHP cURL 错误

curl - Nginx 不会为 "if-modified-since" header 返回 304

javascript - 项目后面的 QML Shader Effect 模糊

c++ - Qt:如何从另一个类调用主窗口的指针?