libcurl库使用ftp协议下载文件,返回CURLE_REMOTE_ACCESS_DENIED

今天使用libcurl库,下载一个ftp文件,curl_easy_perform()函数返回值CURLE_REMOTE_ACCESS_DENIED,查了很多资料,千篇一律的翻译了官网的英文。

null

被拒绝访问的资源的URL。对于FTP,发生这种情况一般是因为试图改变远程目录。

我想了半天,只是下载文件,不涉及到改变远程目录啊,难道是需要手动一步一步切换目录到文件所在位置?应该不会,很多demo里都是直接把文件url传递给libcurl,然后就perform的,都没问题。

后来我找到了原因,因为远程FTP服务器把/subdir1/作为了根目录和访问的默认目录。

我之前自己用socket编程来和FTP服务器通讯,未考虑根目录和默认目录的处理,所以url中包含subdir1;

使用浏览器和libcurl访问时,url中不包含subdir1这一级;但我传递给libcurl的url中包含了subdir1,所以提示CURLE_REMOTE_ACCESS_DENIED。

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容