Как использовать curl с прокси на Linux/Unix
Системный администратор выдал мне доступ к прокси
IP: 202.54.1.1
Порт: 3128
Пользователь: foo
Пароль: bar
Настройки прекрасно работают с Google Chrome и Firefox браузерами. Как же мне их использовать в команде curl? Как сказать команде curl использовать настройки прокси сервера с моего браузера Chrome?
Многие Linux команды командной строки такие как curl, wget, lynx и другие используют переменные окружения http_proxy, https_proxy, ftp_proxy для определения настроек прокси. Это позволяет подключаться к сессии через текстовую строку.
Unix and Linux curl команда с настройками прокси
Синтаксис:
export http_proxy=http://your-ip-address:port/ ## http прокси с именем и паролем export http_proxy=http://user:[email protected]:port/ ## HTTPS версия ## export https_proxy=https://your-ip-address:port/ export https_proxy=https://user:[email protected]:port/
Кроме этого существует опция -x для команды curl что бы указать прокси сервер
curl -x <[protocol://][user:[email protected]]proxyhost[:port]> url --proxy <[protocol://][user:[email protected]]proxyhost[:port]> url --proxy http://user:[email protected]:Port url -x http://user:[email protected]:Port url
Например, сначала устанавливаем переменные для прокси
export http_proxy=http://foo:[email protected]:3128/ export https_proxy=$http_proxy ## Use curl command ## curl -I www.system-admins.ru curl -v -I www.system-admins.ru
Для скачивания с использованием опции -x
curl -x 'http://foo:[email protected]:3128 ' -v -O http://system-admins.ru/downloads/b8bf71be927a0a6960cb3/123.pdf
Как использовать протокол socks?
Синтаксис следующий
curl -x socks5://[user:[email protected]]proxyhost[:port]/ url curl --socks5 192.168.1.254:3099 http://www.system-admins.ru/
Учитывайте то что строка прокси может быть указана с приставкой протокола, любого специфического. Например socks4://, socks4a://, socks5:// или socks5h:// для каждой версии соответственно. Если протокол не указан,то по умолчанию считается http, если порт не указан, то по умолчанию используется 1080. Опция -x переопределяет установленные переменные окружения для прокси. Если параметры прокси установлены, то сбросить их можно указав «», таким образом перезаписав их.