今天使用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
暂无评论内容