Как использовать cURL с прокси-сервером?

В этой статье мы предлагаем вам ознакомиться с кратким руководством по использованию cURL с прокси-сервером.

Что такое cURL?

cURL – инструмент командной строки, используемый для передачи данных на сервер или с сервера, он необходим для тестирования API, загрузки файлов и многих других задач. 

Простыми словами, cURL (Client URL) – это «URL-адрес клиента».

Типовая структура URL-адреса выглядит следующим образом:

<протокол_или_схема>://<логин>:<пароль>@<хост>:<номер_порта>/<символьный_путь>?<дополнительные_параметры>#<якорь>

Если какие-то элементы не используются, то они опускаются (то есть убираются из URL).

Вот так, например, выглядят URL-адреса для известного многим протокола HTTP:

http://www.домен.зона/путь/до/страницы/

cURL поддерживает следующие протоколы:

  • HTTP и его защищённая версия HTTPS, GOPHER (аналог www),
  • для работы с файлами FTP (FTPS), SFTP, FILE, TFTP, LDAP (LDAPS)
  • для удалённого подключения SCP, SMB, SMBS, TELNET,
  • для работы с почтой POP3 (POP3S), IMAP (IMAPS), SMTP (SMTPS),
  • а также DICT, RTMP и RTSP.

Но, что самое приятное, cURL умеет работать через HTTP и SOCKS-прокси.

сURL поддерживает как HTTP, так и SOCKS-прокси, что очень важно, когда вам необходимо скрыть свой IP-адрес или обойти сетевые ограничения и подключиться через прокси.

Совместимость cURL с различными ОС  

Windows

Во всех последних версиях ОС (операционных систем) Windows, начиная со сборки 1803 (Windows 10) и выше, есть встроенный клиент cURL. Но тут есть нюансы. Системное решение работает как командлет Invoke-WebRequest. Соответственно, предполагается использование измененного синтаксиса, вследствие чего будут недоступны многие параметры командной строки.

Поэтому, если вы хотите использовать стандартный интерфейс cURL, нужно выбрать одно из нескольких решений:

  • Прямое обращение к файлу curl.exe (при желании можно скачать актуальную версию сборки cURL для Windows с официального сайта утилиты).
  • Установка окружения WSL (Windows Subsystem Linux). Фактически это специализированная виртуальная машина.
  • Ручная установка любого Linux-дистрибутива в среде виртуализации (VirtualBox и аналоги).
Linux

Установка cURL в большинстве случаев не потребуется. Во всех популярных дистрибутивах связка из библиотеки и утилиты есть в наличии.

Если при вызове команды curl в терминале система ругается на отсутствующий исполняемый файл, то можно установить программу с помощью штатного пакетного менеджера, например:

  • Для дистрибутивов на базе Debian/Ubuntu – sudo apt-get install curl
  • Для дистрибутивов на базе Fedora/CentOS/RHEL – yum install curl
  • Для дистрибутивов на базе ArchLinux – pacman -Sy curl
macOS

cURL установлена во всех macOS по умолчанию. Чтобы начать использование утилиты, просто откройте приложение «Терминал» и начните вводить команды.

В следующем разделе вы найдете краткое руководство по установке и использованию cURL с прокси.

Использование cURL с прокси 

Это руководство поможет вам легко настроить cURL для работы с различными типами прокси с целью безопасных, частных или ограниченных подключений.

Для того чтобы использовать cURL с помощью командной строки, выполните следующие шаги:

  1. Определите, какой прокси вы используете: HTTP, HTTPS или SOCKS5. Это повлияет на синтаксис команды, которую вы используете в cURL.
  2. Для того чтобы вызвать командную строку, нажмите сочетание клавиш «Win + R» (Windows), «Ctrl+Alt+T» (Linux) или нажмите кнопку терминала на вашем устройстве (macOS).
  3. В появившемся окне введите «cmd» и нажмите «OK».
    1
  4. В появившейся командной строке включите опцию -x или --proxy, а затем тип и адрес прокси следующим образом, заменив proxy_ip и port на фактический IP-адрес и порт вашего прокси:
    curl -x http://proxy_ip:port http://example.com
  5. Для использования SOCKS5 с cURL, укажите socks5:// перед адресом прокси:
    curl -x socks5://proxy_ip:port http://example.com
  6. Если ваш прокси требует аутентификации, используйте опцию -U для ввода имени пользователя и пароля:
    curl -x http://proxy_ip:port -U username:password http://example.com
  7. Запустите команду, и cURL будет использовать указанный прокси для подключения. Чтобы убедиться, что он использует прокси-сервер, проверьте заголовки ответа или информацию об IP. 
  8. Для дальнейшей работы cURL с прокси, необходимо знать базовый список аргументов, т.к.команда без аргументов не даст абсолютно никакого результата. Для того чтобы увидеть базовый список доступных аргументов, нужно ввести в терминале команду:
    curl --help

    2

  9. Для того чтобы получить максимально полный обзор всех опций, введите команду:
    curl --help all

    3

Среди общего списка аргументов cURL есть:

  • Средства для трассировки и отправки запросов.
  • Тонкие настройки для управления SSL-сертификатами и методами авторизации.
  • Средства для работы с загрузкой файлов, с cookies, с сессиями, с IP-протоколами и т.п.
  • Средства для отправки данных.
  • Запись данных в файлы (для сохранения полученной информации).
  • Управление кодировками, временем и скоростью соединений.
  • Детальная работа с прокси и туннелированием.

С одной только этой утилитой можно собрать и выгрузить заголовки страниц целевого сайта, скачать с него весь контент и HTML-страницы. Всё, что вам понадобится – только консоль и несколько стандартных команд.

Если у вас остались какие-либо вопросы по работе нашего сервиса froxy.com, Вы можете задать их в онлайн-чате в правом нижнем углу сайта или обратиться в службу поддержки на support@froxy.com.