Главная / Сценарии / curl
Как использовать прокси с curl
curl нативно понимает прокси HTTP, HTTPS и SOCKS. Ниже точные флаги для каждого типа плюс команда, берущая прокси прямо из бесплатного списка, проверяемого каждый час.
Флаги для каждого типа прокси
| Тип прокси | Команда curl |
|---|---|
| HTTP / HTTPS | curl -x http://host:port URL |
| SOCKS5 (удалённый DNS) | curl --socks5-hostname host:port URL |
| SOCKS5 (локальный DNS) | curl --socks5 host:port URL |
| SOCKS4 | curl --socks4 host:port URL |
Всегда добавляйте --max-time 10, чтобы curl быстро сдавался на мёртвом прокси.
Переменные окружения
export http_proxy="http://1.2.3.4:8080" export https_proxy="http://1.2.3.4:8080" curl -I "https://example.com/"
Получить рабочий прокси одной строкой
proxy="$(curl -sL https://raw.githubusercontent.com/xyzs996/free-proxy-health-list/main/proxies/protocols/http/data.txt | head -n 1)" curl -x "http://$proxy" -I "https://example.com/" --max-time 10
Частые вопросы
--socks5 или --socks5-hostname?
--socks5 резолвит DNS локально; --socks5-hostname через прокси. Предпочитайте второй, чтобы избежать утечки DNS.
curl завис на прокси — что делать?
Добавьте --max-time. Бесплатные прокси умирают, поэтому быстро истекайте по таймауту и переходите к следующему.
Можно протестировать прокси без скрипта?
Да — генератор команд создаёт готовую команду curl.