Command-Line

僅從 Web 伺服器索引下載目錄/文件名列表

  • January 28, 2022

我正在嘗試 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,而不安裝額外的解析器?

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

curl -s http://example.com/files/ | grep -o 'href=".*">' | sed -e "s/href=\"//g" | sed -e "s/\"\>//g"

給我一種像ls在目錄中一樣的體驗

引用自:https://unix.stackexchange.com/questions/591240