
Как использовать curl через прокси: команды и проверка
Для одного запроса задайте прокси параметром –proxy или -x. Для SOCKS5 выберите, где разрешать имя сайта: локально или на прокси. Ниже приведены примеры Bash и PowerShell, авторизация, постоянная конфигурация и отключение.
Быстрый запрос curl через HTTP-прокси
Пример для Bash на Linux, macOS или в WSL. Введите полный адрес HTTP-прокси с портом:
read -r -p "URL HTTP-прокси с портом: " proxy_url
curl -q --proxy "$proxy_url" --noproxy "" \
--connect-timeout 10 --max-time 30 --head https://proxywing.com/ru/
–head отправляет HEAD и показывает заголовки ответа. Без него curl обычно выводит тело ресурса. Для тела вместе с заголовками используйте –include. Ответы сайта на HEAD и GET могут отличаться.
-q первым аргументом отключает чтение стандартного curlrc. Пустое значение –noproxy убирает исключения, которые могли бы отправить запрос напрямую.
Проверка curl на вашей системе
В Bash выполните:
curl --version
В PowerShell используйте явное имя исполняемого файла, чтобы исключить совпадение с псевдонимом старых версий оболочки:
curl.exe --version
Если утилиты нет, установите пакет curl через менеджер пакетов своей системы или проверенную сборку для Windows. Протоколы и возможности TLS зависят от сборки и показываются в выводе версии.
Какие реквизиты нужны
Подготовьте адрес, порт, протокол и способ авторизации. Схема адреса должна соответствовать реальному входу сервера. Замена HTTP на HTTPS или SOCKS5 в строке не включает новый режим на прежнем порте.

Адрес шлюза и внешний IP могут различаться, особенно у резидентского пула. Начните с одного сервера и одной целевой страницы.
Адрес и порт говорят cURL, к какому прокси подключаться, а регион выходного IP задаётся в настройках самого прокси. Для проверки региональных страниц через домашние IP возьмите резидентские прокси в ProxyWing с промокодом на пожизненную скидку. Скопируйте выданные параметры в команду из следующего раздела, сделайте запрос к сервису проверки IP и только потом открывайте нужную страницу.
HTTP, HTTPS и авторизация прокси
HTTP-прокси передаёт соединение к HTTPS-сайту через CONNECT. TLS до самого HTTPS-прокси представляет отдельный режим, который должны поддерживать сервер и сборка curl. Проверка сертификатов сайта и прокси относится к разным соединениям.
Логин и пароль в Bash
Выполните после ввода proxy_url из первого примера. Если передать только имя пользователя, curl запросит пароль интерактивно:
read -r -p "Логин прокси: " proxy_user
curl -q --proxy "$proxy_url" --proxy-user "$proxy_user" \
--noproxy "" --connect-timeout 10 --max-time 30 \
--head https://proxywing.com/ru/
Не добавляйте двоеточие после имени, если нужен запрос пароля. Для согласования HTTP-авторизации при необходимости добавьте –proxy-anyauth. Авторизация сайта задаётся отдельно.
Пример для PowerShell
$proxyUrl = Read-Host "URL HTTP-прокси с портом"
$proxyUser = Read-Host "Логин прокси"
curl.exe -q --proxy $proxyUrl --proxy-user $proxyUser --connect-timeout 10 --max-time 30 --head https://proxywing.com/ru/
Если задана переменная NO_PROXY, проверьте, не исключён ли адрес назначения из проксирования.
SOCKS5 и DNS
| Режим | Где определяется адрес сайта |
|---|---|
| SOCKS5 / –socks5 | На стороне клиента |
| SOCKS5h / –socks5-hostname | На стороне прокси |
| SOCKS4 | Базовый режим с IPv4 |
| SOCKS4a | Передаёт доменное имя прокси |
Для удалённого DNS в Bash введите хост и порт SOCKS5 без схемы:
read -r -p "SOCKS5, хост:порт: " socks_endpoint
curl -q --socks5-hostname "$socks_endpoint" --noproxy "" \
--connect-timeout 10 --max-time 30 --head https://proxywing.com/ru/
Для сервера с логином добавьте –proxy-user и имя пользователя, как в примере авторизации. Для локального DNS замените –socks5-hostname на –socks5. SOCKS5 сам по себе не шифрует полезную нагрузку.
Окружение и файл конфигурации curl

Переменные окружения
В Bash после ввода proxy_url:
export http_proxy="$proxy_url"
export https_proxy="$proxy_url"
curl -q --head https://proxywing.com/ru/
http_proxy задаёт прокси для HTTP-адресов, https_proxy для HTTPS. ALL_PROXY используется, если нет более конкретной переменной. NO_PROXY задаёт исключения. В системах с учётом регистра используйте http_proxy строчными буквами.
В PowerShell:
$env:https_proxy = $proxyUrl
curl.exe -q --head https://proxywing.com/ru/
Значения относятся к текущему процессу оболочки и его дочерним процессам.
Файл curlrc
Расположение стандартного конфига зависит от ОС и окружения. Для повторяемого запуска явно укажите свой файл:
curl --config proxy-curlrc --head https://proxywing.com/ru/
Создайте proxy-curlrc со своими значениями proxy и, если требуется, proxy-user. Ограничьте доступ, если файл содержит пароль. Параметр -q первым аргументом отключает автоматическое чтение стандартного конфига; окружение он не очищает.
Как отключить прокси или задать исключения
Для одного прямого запроса:
curl -q --noproxy "*" --connect-timeout 10 --max-time 30 --head https://proxywing.com/ru/
Звёздочку берите в кавычки, чтобы оболочка не подставила имена файлов. Для отдельных доменов передайте список через запятую:
curl -q --noproxy "localhost,proxywing.com" --head https://proxywing.com/ru/
Это управляет выбором прокси внутри curl. Внешний VPN или отдельный системный клиент может продолжать маршрутизировать соединение.
Диагностика подключения
Добавьте –verbose и найдите подключение к прокси, ответ CONNECT и ответ целевого сайта. Вывод может содержать чувствительные заголовки; уберите их перед передачей журнала.
| Сообщение или код | Что проверить |
|---|---|
| Could not resolve proxy | Домен шлюза и локальный DNS |
| Failed to connect | Адрес, порт, доступность и правила доступа |
| 407 | Реквизиты прокси и схему авторизации |
| Ошибка TLS или сертификата | Время устройства, цепочку доверия и протокол |
| 403 после успешного CONNECT | Ответ сайта и права доступа |
| 429 | Частоту запросов и указания Retry-After |
Успешный CONNECT подтверждает создание туннеля, но не результат следующего запроса. Для обработки HTTP-ошибок в скрипте используйте –fail-with-body, если параметр поддерживается вашей версией.
Какой прокси выбрать для curl
Для постоянного подключения выберите ISP-прокси ProxyWing. Для запросов из разных регионов используйте резидентский пул с ротацией или sticky-сессией.
Для связанных запросов сохраняйте параметры сессии и cookies. Критерии производительности и расхода трафика разобраны в статье о прокси для парсинга.
Проверка перед рабочим запуском
Проверьте версию curl, протокол, авторизацию, исключения и ответ целевого ресурса. Для SOCKS5 отдельно выберите локальный или удалённый DNS.
Для загрузки файлов с продолжением или обходом ссылок сравните возможности с настройкой Wget через прокси.
Статью написал:
Фулстек AI-инженер
Александр привносит в инженерную команду Proxywing глубокую фулстек-экспертизу — от архитектуры бэкенда и оптимизации производительности до AI-ориентированных процессов разработки. Его практический опыт охватывает Node.js, React, облачную инфраструктуру и RAG-пайплайны, что позволяет одинаково уверенно работать как с внутренней логикой прокси-платформы, так и с пользовательской частью продукта. В Proxywing Александр сосредоточен на проектировании отказоустойчивых систем, устранении узких мест производительности и внедрении современных AI-инструментов в процесс разработки. Вне кода он увлечён исследованием передовых подходов в AI-инженерии и созданием сайд-проектов, расширяющих технические горизонты.
Все статьи автора (58)

