Image Downloader
Учебный проект - консольная утилита для скачивания изображений по URL-адресам.
Описание
Программа позволяет скачивать изображения из списка URL-адресов с поддержкой:
- Параллельной загрузки (настраиваемое количество потоков)
- Ограничения скорости загрузки (rate limiting)
- Повторных попыток при ошибках
- Автоматического определения расширения файла по Content-Type
- Чтения URL-адресов из файла или stdin
Использование
go run main.go [OPTIONS] [input-file|-] <output-dir>
Параметры
-t duration
- таймаут запроса (по умолчанию 60s)-r int
- количество попыток загрузки (по умолчанию 5)-j int
- количество параллельных загрузок (по умолчанию 5)-rate float
- максимальное количество загрузок в секунду (0 = без ограничений)
Примеры
# Скачать изображения из файла в папку images
go run main.go urls.txt images/
# Скачать из stdin с ограничением в 2 загрузки в секунду
cat urls.txt | go run main.go -rate 2 -j 3 - downloads/
Сборка
go build -o imgdownloader main.go
Зависимости
- Go 1.24.3+
- golang.org/x/time (для rate limiting)
Это учебный проект для изучения Go и работы с HTTP-клиентами.
Description
Languages
Go
100%