我正在尝试curl/wget 网络服务器目录列表中可用的目录/文件名列表。
例如来自(随机选择)http://prodata.swmed.edu/download/,我正在尝试下载:
bin
dev
etc
member
pub
usr
usr1
usr2
cUrl ( curl http://prodata.swmed.edu/download/
) 获取整个 HTML 页面,我需要手动解析所有文件/目录条目。
有没有办法使用curl/wget 仅下载可用文件/目录的名称,而不安装额外的解析器?
答案1
HTTP 协议没有从 HTTP 服务器请求“文件列表”的功能。
curl
//wget
浏览器请求一个URL,其中包含任意请求字符串并且服务器返回一些任意数据。
但是您可以使用以下命令提取名称
curl --silent http://prodata.swmed.edu/download/ | grep -o 'href=".*">' | sed 's/href="//;s/\/">//'
bin
dev
etc
member
pub
usr
usr1
usr2
答案2
curl -s http://example.com/files/ | grep -o 'href=".*">' | sed -e "s/href=\"//g" | sed -e "s/\"\>//g"
给我一种像ls
在目录中一样的体验