Использование прокси с cURL
cURL — мощная утилита командной строки для работы с HTTP. Она отлично поддерживает все типы прокси.
Базовый синтаксис
curl -x [protocol://]host:port URL
HTTP прокси
# Простой запрос через прокси
curl -x http://proxy.example.com:8080 https://httpbin.org/ip
# С авторизацией
curl -x http://user:password@proxy.example.com:8080 https://httpbin.org/ip
# Или отдельно
curl -x http://proxy.example.com:8080 -U user:password https://httpbin.org/ip
HTTPS прокси
curl -x https://proxy.example.com:8080 https://httpbin.org/ip
SOCKS прокси
# SOCKS4
curl --socks4 proxy.example.com:1080 https://httpbin.org/ip
# SOCKS4A (с DNS через прокси)
curl --socks4a proxy.example.com:1080 https://httpbin.org/ip
# SOCKS5
curl --socks5 proxy.example.com:1080 https://httpbin.org/ip
# SOCKS5 с DNS через прокси (рекомендуется)
curl --socks5-hostname proxy.example.com:1080 https://httpbin.org/ip
Переменные окружения
# Установить прокси глобально
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
# Теперь все запросы идут через прокси
curl https://httpbin.org/ip
# Игнорировать прокси для определённых хостов
export no_proxy=localhost,127.0.0.1,.internal.com
Полезные опции
# Показать время подключения
curl -x http://proxy:8080 -w "Time: %{time_total}s\n" https://httpbin.org/ip
# Игнорировать SSL ошибки
curl -x http://proxy:8080 -k https://example.com
# Установить таймаут
curl -x http://proxy:8080 --connect-timeout 10 https://httpbin.org/ip
# Следовать редиректам
curl -x http://proxy:8080 -L https://httpbin.org/redirect/3
# Сохранить cookies
curl -x http://proxy:8080 -c cookies.txt https://example.com
# Отправить POST запрос
curl -x http://proxy:8080 -X POST -d "data=value" https://httpbin.org/post
Скрипт проверки списка прокси
#!/bin/bash
while read proxy; do
result=$(curl -x "$proxy" -s --connect-timeout 5 https://httpbin.org/ip)
if [ $? -eq 0 ]; then
echo "[OK] $proxy"
else
echo "[FAIL] $proxy"
fi
done < proxies.txt
Отладка
# Подробный вывод
curl -x http://proxy:8080 -v https://httpbin.org/ip
# Показать только заголовки
curl -x http://proxy:8080 -I https://httpbin.org/ip
Обновлено: 09.01.2026
Назад к категории