Files
imgdownloader/README.md
2025-08-01 10:07:51 +03:00

51 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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