首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用curl下载ftp文件,无需遍历父目录

使用curl下载ftp文件,无需遍历父目录
EN

Stack Overflow用户
提问于 2016-01-16 02:37:20
回答 1查看 975关注 0票数 1

我想从ftp服务器下载文件。我已经确认我有访问权限,因为我可以手动下载文件,使用Chrome列出ftp目录内容,然后单击每个文件,一次下载一个。不过,有很多文件,我想使用curl为我获取所有这些文件。

但是,ftp服务器的设置使我没有访问Parent目录的权限,即使我有访问Child目录的权限,因此以下curl命令失败:

代码语言:javascript
复制
curl -u username:password "ftp://example.com/Parent/Child/file.txt" -o file.txt

详细(-v)输出中的关键摘录:

代码语言:javascript
复制
< 230 User logged in.
> PWD
* Entry path is '/'
> CWD Parent
< 550 Access is denied
* Server denied you to change to the given directory
curl: (9) Server denied you to change to the given directory

有没有办法让curl直接更改到最终目录,而不是遍历层次结构,以避免它在不允许的父目录上给出错误?

EN

回答 1

Stack Overflow用户

发布于 2016-01-16 02:37:20

可以,停那儿吧。Curl的工作方式是在每个/字符上拆分路径,然后每次发出一个PWD命令(从详细输出中可以看到)。

只需使用%2f对中间/字符进行urlencode,curl将一次性发出CWD命令:

代码语言:javascript
复制
$ curl -u username:password "ftp://example.com/Parent%2fChild/file.txt" -o file.txt

> CWD Parent/Child
< 250 CWD command successful.

瞧!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34817601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档