Перейти к содержимому

Как использовать proxy с cURL: Полное руководство

TL;DR

Используйте GProxy proxy с cURL для HTTP-запросов через командную строку. Охватывает типы proxy HTTP, HTTPS, SOCKS5, аутентификацию и продвинутые опции.

Язык: CLI

Что вам понадобится

  • cURL 7.x+ установлен (предустановлен в большинстве систем)
  • Аккаунт GProxy с активным тарифным планом proxy
  • Доступ к терминалу (Linux, macOS или Windows WSL)

Пошаговая настройка

1

Проверьте, что cURL установлен

Проверьте вашу версию cURL

curl --version
2

Выполните базовый запрос через proxy

Используйте флаг -x для маршрутизации через GProxy

curl -x http://USER:PASS@proxy.gproxy.net:1000 https://httpbin.org/ip
3

Используйте SOCKS5 proxy

Маршрутизация через SOCKS5 эндпоинт

curl -x socks5://USER:PASS@proxy.gproxy.net:1001 https://httpbin.org/ip
4

Настройте гео-таргетинг

Таргетинг на конкретную страну

curl -x http://USER-country-de:PASS@proxy.gproxy.net:1000 https://httpbin.org/ip
5

Используйте переменные окружения

Установите proxy глобально для всех запросов

export HTTP_PROXY=http://USER:PASS@proxy.gproxy.net:1000
export HTTPS_PROXY=http://USER:PASS@proxy.gproxy.net:1000
curl https://httpbin.org/ip
6

Тестирование с подробным выводом

Отладка proxy соединения с флагом -v

curl -v -x http://USER:PASS@proxy.gproxy.net:1000 https://httpbin.org/ip

Примеры кода

HTTP Proxy запрос · bash
# Basic HTTP proxy
curl -x http://USER:PASS@proxy.gproxy.net:1000 https://httpbin.org/ip

# With custom headers
curl -x http://USER:PASS@proxy.gproxy.net:1000 \
  -H 'User-Agent: Mozilla/5.0' \
  -H 'Accept: application/json' \
  https://api.example.com/data
Пакетные запросы с ротацией · bash
#!/bin/bash
# Each connection gets a new IP from GProxy's rotating pool
URLS=(
  'https://example.com/page1'
  'https://example.com/page2'
  'https://example.com/page3'
)

PROXY='http://USER:PASS@proxy.gproxy.net:1000'

for url in "${URLS[@]}"; do
  echo "Fetching: $url"
  curl -s -x "$PROXY" -o /dev/null -w "%{http_code} %{time_total}s\n" "$url"
done
Гео-таргетированные запросы · bash
#!/bin/bash
# Compare responses from different countries
COUNTRIES=(us de gb fr jp br)

for country in "${COUNTRIES[@]}"; do
  echo -n "$country: "
  curl -s -x "http://USER-country-${country}:PASS@proxy.gproxy.net:1000" \
    https://httpbin.org/ip | jq -r '.origin'
done

Почему стоит использовать proxy с cURL?

cURL — это универсальный инструмент командной строки для HTTP-запросов, установленный практически в каждой системе Linux, macOS и Windows. Добавление GProxy proxy в cURL позволяет тестировать proxy-соединения, отлаживать API-вызовы через разные IP и создавать shell-скрипты для автоматизированного сбора данных. Благодаря 10M+ резидентным IP GProxy в 150+ странах, вы можете выполнять запросы из любого местоположения прямо из вашего терминала.

Базовый синтаксис proxy

cURL поддерживает proxy через флаг -x или --proxy. Формат записи: -x protocol://user:pass@host:port. GProxy поддерживает протоколы HTTP, HTTPS и SOCKS5, которые настраиваются через этот единый флаг.

Методы аутентификации

GProxy поддерживает два метода аутентификации в cURL: встроенные учетные данные в URL proxy и аутентификация по IP whitelist (учетные данные не требуются). Для встроенной аутентификации укажите имя пользователя и пароль непосредственно в URL proxy. Для IP whitelist просто добавьте IP вашей машины в панель управления GProxy и используйте proxy без учетных данных.

SOCKS5 против HTTP proxy

cURL поддерживает как HTTP, так и SOCKS5 proxy. Используйте HTTP proxy (-x http://...) для стандартных веб-запросов. Используйте SOCKS5 (-x socks5://...), когда вам нужно проксировать не-HTTP трафик или когда цель требует SOCKS5. GProxy предоставляет оба варианта на разных портах.

Переменные окружения

Настройте proxy для всех запросов cURL с помощью переменных окружения: export HTTP_PROXY=http://user:pass@proxy.gproxy.net:1000 и HTTPS_PROXY. Это полезно для shell-скриптов и конвейеров CI/CD, где вы хотите, чтобы весь HTTP-трафик проходил через GProxy без изменения каждой команды.

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

Таргетируйте конкретные страны, добавляя код страны в ваше имя пользователя GProxy: USER-country-us, USER-country-de и т. д. Это направит ваш запрос через резидентный IP в этой стране, что необходимо для тестирования API с географическими ограничениями или проверки локализованного контента.

Сценарии применения

API Testing

Тестируйте API из различных локаций и IP, чтобы проверить гео-ограничения и поведение rate limiting.

Shell Script Automation

Создавайте скрипты для сбора данных, которые автоматически переключаются между IP GProxy.

Proxy Connection Testing

Быстро проверяйте учетные данные GProxy и подключение к proxy через командную строку.

CI/CD Pipeline Integration

Направляйте HTTP-запросы CI/CD через GProxy, используя переменные окружения для стабильного тестирования.

Pro советы
Используйте флаг -w для измерения времени отклика через proxy. Добавьте --connect-timeout 10 для быстрого завершения при проблемах с proxy. Используйте файл .curlrc для постоянной конфигурации proxy. Передавайте вывод в jq для парсинга JSON в скриптах.

FAQ

Как использовать cURL с SOCKS5 прокси? +
Используйте -x socks5://USER:PASS@proxy.gproxy.net:1001 — обратите внимание на префикс протокола socks5:// и другой порт.
Можно ли использовать cURL proxy с HTTPS сайтами? +
Да, cURL поддерживает HTTPS через HTTP прокси с помощью метода CONNECT. Используйте тот же флаг -x как для HTTP, так и для HTTPS целей.
Как безопасно сохранить учетные данные прокси? +
Используйте файл .curlrc в вашем домашнем каталоге с записью 'proxy = http://USER:PASS@proxy.gproxy.net:1000' или используйте переменные окружения.
Работает ли ротация IP с cURL? +
Да. Backconnect эндпоинт GProxy назначает новый IP на каждое соединение, поэтому каждая команда curl получает новый выходной IP.

Готовы попробовать?

Начните с GProxy за минуты — резидентные прокси от $0.85/GB, IPv6 от $0.03/прокси, оплата по факту использования.

Другие интеграции

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.