Реферальная программа
Разработка

Настройка прокси в cURL

Направляйте запросы cURL через SotaProxy одним флагом.

cURL поддерживает прокси нативно через флаг -x. Одно добавление в команду - и каждый запрос идёт через SotaProxy. Удобно для проверки соединения через прокси, быстрых выгрузок данных и shell-скриптов.

Руководство по настройке

1

Базовый запрос через прокси

bash
curl -x "http://YOUR_USERNAME:YOUR_PASSWORD@proxy.sotaproxy.com:10000" \
     https://httpbin.org/ip

Флаг -x задаёт прокси. Включите учётные данные в URL. Работает и для HTTP-, и для HTTPS-целей.

2

Гео-таргетинг

bash
# US IP
curl -x "http://YOUR_USERNAME_c_US:YOUR_PASSWORD@proxy.sotaproxy.com:10000" \
     https://httpbin.org/ip

# German IP
curl -x "http://YOUR_USERNAME_c_DE:YOUR_PASSWORD@proxy.sotaproxy.com:10000" \
     https://httpbin.org/ip

Добавьте _c_XX к имени пользователя. Используйте двухбуквенные коды ISO заглавными.

3

Задать через переменную окружения

bash
export HTTPS_PROXY="http://YOUR_USERNAME:YOUR_PASSWORD@proxy.sotaproxy.com:10000"
export HTTP_PROXY="http://YOUR_USERNAME:YOUR_PASSWORD@proxy.sotaproxy.com:10000"

# Now all curl requests use the proxy
curl https://httpbin.org/ip

Установка переменных окружения направляет все запросы curl через прокси без указания -x каждый раз.

4

SOCKS5-прокси

bash
curl --socks5 "proxy.sotaproxy.com:SOCKS5_PORT" \
     -U "YOUR_USERNAME:YOUR_PASSWORD" \
     https://httpbin.org/ip

Для SOCKS5 используйте --socks5 вместо -x. Уточните SOCKS5-порт в дашборде SotaProxy.

Автоматизируй через SotaProxy API

Всё описанное выше работает без открытия дашборда. С API-ключом cURL может получать свежие данные прокси, покупать новые и продлевать истекающие - прямо из кода.

bash
# Every active proxy on your account (ip, ports, login, password as JSON)
curl -H "Authorization: Bearer $KEY" https://api.sotaproxy.com/api/v1/proxies

# Buy more when you scale (price-check first with POST /quote)
curl -X POST https://api.sotaproxy.com/api/v1/orders \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: my-unique-order-id" \
  -d '{"product":"ipv4","countryId":565,"periodId":"1m","quantity":5}'
Документация API

Флаги, которые имеют значение

curl это самый быстрый способ убедиться, что адрес работает, ещё до того как вы напишете код. Оба наших типа адресов подключаются одинаково:

Ротация резидентки
login:password@proxy.sotaproxy.com:10000
Привязка к стране
login_c_US:password@proxy.sotaproxy.com:10000
Липкая на 15 минут
login_c_US_s_42_ttl_15m:password@proxy.sotaproxy.com:10000
Статический адрес (ISP, датацентр)
login:password@ваш-ip:50100, SOCKS5 на 50101

Кладите учётные данные в аргумент -x или держите их вне истории оболочки через --proxy-user и файл netrc.

Как посмотреть, что видит цель

Три команды, которые стоит держать под рукой: подтвердить адрес выхода, подтвердить географию, подтвердить, что сессия держится:

Shell: проверка адреса, географии и липкости

# which address are we leaving from
curl -x login_c_US:password@proxy.sotaproxy.com:10000 https://api.ipify.org

# what the target sees about that address
curl -x login_c_DE:password@proxy.sotaproxy.com:10000 https://ipinfo.io/json

# does the sticky session hold across calls
for i in 1 2 3; do
  curl -s -x login_c_US_s_9_ttl_15m:password@proxy.sotaproxy.com:10000 https://api.ipify.org
  echo
done

# SOCKS5 with DNS resolved on our side
curl -x socks5h://login:password@proxy.sotaproxy.com:10000 https://api.ipify.org
  • Три одинаковых ответа из липкого цикла означают, что сессия работает. Три разных означают, что суффикс собран неверно и вы молча получили ротацию.
  • Когда что-то не так, добавьте -v. Рукопожатие с прокси видно там, и 407 ни с чем не спутать.
  • Используйте --compressed, чтобы запросить gzip и экономить резидентский трафик на тестах.
  • Для статических адресов уберите суффиксы совсем и направьте curl на ваш-ip:50100, либо на 50101 для SOCKS5.

Особенности curl

socks5 против socks5h

Первый разрешает DNS локально, что отдаёт цель вашему резолверу и ломает гео-чувствительную маршрутизацию. Вариант с h разрешает удалённо.

Пароли в истории оболочки

Всё, что набрано после -x, попадает в .bash_history. На общей машине используйте --proxy-user вместе с netrc.

Путаница 407 с ошибкой цели

407 приходит от нас и означает, что строка логина не разобралась. Цель запроса вообще не видела.

Проверка через http:// на https-цели

Обе идут через одну точку входа, но смешение схем в скриптах даёт странные редиректы. Схему подбирайте под цель.

Заметки и советы

  • Проверьте соединение перед использованием в продакшене: curl -x "proxy_url" https://httpbin.org/ip
  • --proxy-insecure пропускает проверку TLS для соединения с прокси (не с целью) - используйте только для отладки.
  • cURL учитывает переменные окружения HTTP_PROXY и HTTPS_PROXY. Задайте их в профиле оболочки для постоянной конфигурации.

FAQ

Как проверить IP прокси в cURL?

Выполните: curl -x "http://user:pass@proxy.sotaproxy.com:10000" https://httpbin.org/ip - ответ покажет IP прокси, а не ваш.

Можно ли использовать прокси cURL в shell-скриптах?

Да. Задайте HTTP_PROXY и HTTPS_PROXY как переменные окружения в начале скрипта или передавайте -x в каждый вызов curl.

Похожие интеграции

Получи учётные данные прокси

Зарегистрируйся, пополни баланс и скопируй эндпоинт в cURL. Займёт менее 5 минут.

Начать