Xiaofeng имеет право, возможность извлекать каталоги файлов зависит от реализации сервера. Часто на профессиональных веб-сайтах этот каталог отключен. Тем не менее, вы все равно можете дать ему go. Веб-сервер ответит 404, если список каталогов не включен / не поддерживается.
Тем не менее, я украл немного кода из здесь
curl -silent $1 | grep href=\" | grep "http://" | grep -o "http:\/\/[^\"]*"
По сути, код ищет тег href со ссылкой http: // и затем извлекает URL (grep -o
возвращает только соответствующую часть строки). Поскольку мы используем синтаксический анализ строк для извлечения URL-адресов из HTML источника, мы не можем назвать этот код общим - должен использоваться правильный синтаксический анализатор HTML, если вы хотите более надежный код.
Осталось заменить $ 1 на выражение, которое берет URL-адрес и удаляет имя файла. Вот код для этого:
DIR=${URL%/*}/
Приведенный выше код удалит самый короткий соответствующий шаблон в конце URL, который начинается с '/'. Например:
URL="http://my.page/folder_1/file_1.php"
DIR=${URL%/*}/
echo $DIR # outputs http://my.page/folder_1/
Собрав все воедино, вы можете получить такой скрипт:
URL="$1"
DIR="${URL%/*}/"
curl -silent "$DIR" | grep href=\" | grep "http://" | grep -o "http:\/\/[^\"]*"