NP NEONPROXYPROXY NETWORK
КупитьЦеныFAQПартнёркаБлог Прокси-чекерМой IPAPI TG-бот

cURL и прокси: команды и примеры

cURL — универсальный инструмент для HTTP-запросов из терминала, cron и CI. Прокси NEONPROXY подключается флагами -x / --proxy или переменными окружения. Данные из кабинета: host:port:login:password. Ниже — рабочие примеры для HTTPS и SOCKS5 на Linux, macOS и Windows.

HTTPS-прокси: базовый запрос

# Строка NEONPROXY: 185.22.34.89:8080:curl_u:curl_p curl -x "http://curl_u:curl_p@185.22.34.89:8080" \ "https://api.ipify.org?format=json" # Короткая форма без URL-encoding спецсимволов в пароле: curl --proxy "http://185.22.34.89:8080" \ --proxy-user "curl_u:curl_p" \ -s "https://ifconfig.me/ip"

Ответ должен показать IP прокси. Сверьте с /tools/myip/ и чекером.

SVYAZVPN — свобода без границ

SOCKS5

curl --socks5 "curl_u:curl_p@185.22.34.89:1080" \ "https://example.com" # SOCKS5 hostname resolution через прокси: curl --socks5-hostname "curl_u:curl_p@185.22.34.89:1080" \ "https://example.com"

--socks5-hostname резолвит DNS на стороне прокси — полезно против DNS-утечек; подробнее в статье про DNS.

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

export http_proxy="http://curl_u:curl_p@185.22.34.89:8080" export https_proxy="$http_proxy" export HTTP_PROXY="$http_proxy" export HTTPS_PROXY="$https_proxy" export no_proxy="localhost,127.0.0.1,.local" curl -s "https://api.ipify.org"

Многие утилиты (wget, apt в некоторых конфигах) читают те же переменные. Для отмены: unset http_proxy https_proxy.

Windows PowerShell и cmd

curl.exe -x "http://curl_u:curl_p@185.22.34.89:8080" ^ "https://api.ipify.org" # Используйте curl.exe, не alias Invoke-WebRequest

Системный прокси Windows влияет не на все вызовы curl — явный -x надёжнее. См. также системный прокси Windows.

Отладка и POST/загрузка файлов

curl -x "http://user:pass@host:8080" -v "https://httpbin.org/get" curl -x "http://user:pass@host:8080" \ -H "Content-Type: application/json" \ -d '{"key":"value"}' \ "https://api.example.com/v1/data" curl -x "http://user:pass@host:8080" \ -O "https://cdn.example.com/file.zip"

Флаг -v показывает handshake с прокси и код 407 при ошибке auth. Таймауты: --connect-timeout 10 --max-time 60. Для PHP-аналогов — PHP cURL.

Файл конфигурации ~/.curlrc

# ~/.curlrc proxy = "http://curl_u:curl_p@185.22.34.89:8080" connect-timeout = 15 retry = 2 retry-delay = 3

Не храните пароли в world-readable файлах — chmod 600 ~/.curlrc. В CI передавайте proxy через env, а не файл.

IPv6 и спецсимволы в пароле

Для IPv6 host используйте URL-encoding или отдельные флаги. Пароль со спецсимволами (@, :, /) кодируйте percent-encoding в URL или используйте --proxy-user с кавычками в shell.

curl -x "http://[2a01:4f8:1c1c::1]:8080" --proxy-user "u:p@ss/word" \ "https://api.ipify.org"

Цепочка с несколькими прокси

cURL не поддерживает цепочку HTTP-прокси нативно — только один hop. Для «прокси через прокси» используйте SSH tunnel или локальный mitmproxy. Для ротации в bash-скрипте читайте список host:port:login:password и выбирайте случайную строку перед каждым запросом.

Проверяйте egress IP после деплоя cron-скрипта: curl -s ... | jq .ip и сравнение с /tools/myip/. Мёртвый прокси в скрипте бэкапа — частая причина «тихих» сбоев ночью.

Загрузка и отправка файлов

curl -x "http://user:pass@host:8080" \ -F "file=@report.pdf" \ -F "meta={\"id\":1}" \ "https://api.example.com/upload" curl -x "http://user:pass@host:8080" \ -H "Authorization: Bearer TOKEN" \ -T large.bin \ "https://storage.example.com/put"

Multipart и PUT работают через CONNECT-туннель так же, как GET. При таймаутах на больших файлах увеличьте --max-time и проверьте лимиты bandwidth на тарифе NEONPROXY.

Интеграция с jq и пайпами

Цепочка curl ... | jq .data[] удобна для мониторинга. В скриптах bash используйте set -euo pipefail и явную проверку HTTP-кода: curl -w "%{http_code}" -o /tmp/body. Код 407 означает проблему с login/password в строке host:port:login:password.

В GitHub Actions передайте прокси через secrets и используйте в step: env: HTTPS_PROXY: ${{ secrets.NEONPROXY_URL }}. Перед merge в main добавьте step с curl к /tools/myip/ для smoke-проверки egress IP runner'а через NEONPROXY.

Итог: curl -x с URL http://login:pass@host:port — минимальный способ проверить NEONPROXY из любого shell. Для скриптов предпочитайте env-переменные и явные таймауты.

Для сложных сценариев парсинга рассмотрите Python requests или Go net/http — там проще ротация пула и обработка retry при 429.

Храните список прокси NEONPROXY в файле по одной строке host:port:login:password и подставляйте в curl через $(shuf -n1 pool.txt | awk -F: '{print "http://"$3":"$4"@"$1":"$2}') для простой ротации в bash.

При работе с API, защищёнными Cloudflare, иногда нужны дополнительные заголовки — базовый curl через NEONPROXY решает IP-whitelist, но не заменяет browser fingerprint.

Сохраняйте рабочие one-liner'ы в team wiki — onboarding новых инженеров ускорится, а формат host:port:login:password останется единым для всего отдела.

← Все статьи блога

Готовы начать

Прокси для скриптов и cron

Пул IPv4/IPv6 — host:port:login:password, HTTPS и SOCKS5 на одном тарифе.

Перейти к заказу