Какая программа предоставляет функциональность аналогичную wget, но также позволяет загружать дерево файлов по протоколу HTTPS?

Как можно использовать WGET для загрузки файлов по протоколу HTTPS, включая дерево директорий, если CURL не подходит для этой задачи из-за своих ограничений?
  • 11 января 2024 г. 7:39
Ответы на вопрос 3
`wget` сам по себе поддерживает загрузку файлов по протоколу HTTPS, включая способность рекурсивно загружать дерево директорий. Вы можете использовать `wget` с опциями, которые позволяют копировать страницы веб-сайта, а также переходить по ссылкам и загружать связанные ресурсы.

Вот пример команды, которую можно использовать для рекурсивной загрузки дерева директорий с веб-сайта по HTTPS с `wget`:

```bash
wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains yourwebsite.com --no-parent https://yourwebsite.com/somedirectory/
```

Объяснение опций:

- `--recursive`: указывает `wget` на рекурсивную загрузку.
- `--no-clobber`: не перезаписывать существующие файлы (если не chiaете, чтобы команда wget перезаписывала файлы, уберите этот параметр).
- `--page-requisites`: получить все ресурсы, необходимые для отображения HTML-страницы (например, изображения, CSS).
- `--html-extension`: сохранять HTML-документы с расширением `.html`.
- `--convert-links`: преобразовывать ссылки в загруженных файлах для просмотра в офлайне.
- `--restrict-file-names=windows`: модифицировать названия файлов, чтобы они подходили под Windows, если вы качаете на Windows.
- `--domains yourwebsite.com`: не загружать ничего с других доменов, кроме указанного.
- `--no-parent`: не следовать ссылкам на уровень выше указанной директории.

Заметьте, что вам нужно заменить `yourwebsite.com` и `/somedirectory/` на фактический домен и путь, который вы хотите загрузить.

Если у вас есть проблемы с SSL сертификатами, вы можете использовать опции `--no-check-certificate`, чтобы игнорировать проверки SSL сертификации. Однако обычно этого стоит избегать, так как это снижает уровень безопасности подключения.

```bash
wget --recursive --no-check-certificate https://yourwebsite.com/somedirectory/
```

Программы-альтернативы `wget` включают:
- `aria2` - это легковесная мультипротокольная программа для загрузки файлов, поддерживает несколько протоколов включая HTTPS.
- `httrack` - специализированная утилита для загрузки вебсайтов целиком, это может быть полезно если вам нужно создать локальное зеркало веб-сайта.

Помните, что перед использованием этих инструментов на чужом сайте вы должны всегда убедиться, что ваша деятельность не нарушает его условия использования или законы о защите авторских прав.
Используй curl с получением дерева файл через find 

find MYDIR -type f -exec curl ***
А API вообще позволяет одним запросом сразу дерево загружать? Если да, то курлом по идее можно любой запрос сделать, поэтому можно и такой. Если нет и нужно делать много запросов, то придётся разбивать вашу задачу на много вызовов курла. В чем проблема? Пусть это будет батч с кучей простых вызовов курла по одному файлу. Почему нет?
Похожие вопросы