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

时间:2014-10-01 13:15:43

标签: 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中使用的代理或类似的东西? 或者它的服务器功能是否禁止自动下载?

谢谢。

1 个答案:

答案 0 :(得分:1)

尝试类似的事情(指定用户代理并重定向到文件,这是在你的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"应该返回文件的缓冲区。