Руководство по использованию cURL с прокси-серверами

Что такое cURL?

cURL, сокращение от "Client URL", - это инструмент для передачи и получения данных через Интернет с помощью URL. Как программный проект он представляет собой библиотеку (libcurl) и инструмент командной строки (curl). Здесь мы остановимся на curl, инструменте командной строки для передачи данных с использованием синтаксиса URL. 

Проект поддерживает широкий спектр протоколов, включая HTTP, HTTPS, FTP, FTPS, SFTP, POP3, POP3S, IMAP, IMAPS, LDAP, LDAPS, SCP и другие. Это делает curl самым популярным и широко используемым HTTP-клиентом командной строки в мире. 

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

Установка curl

Теперь давайте узнаем, как установить curl на вашу машину.

macOS

На macOS устанавливать curl не нужно. Инструмент уже включен в состав операционной системы, и вы можете использовать его в приложении Terminal.

Windows

Начиная с Windows 10, Windows поставляется с копией curl. При этом команда curl является псевдонимом для команды PowerShell Invoke-WebRequest. Это означает, что команды curl в терминале Windows будут вызывать Invoke-Request за кадром. Чтобы избежать этого и действительно использовать curl из cURL, замените "curl" на "curl.exe". Таким образом, PowerShell будет запускать curl, а не Invoke-Request.

Например, проверить текущую версию curl, установленную на машине Windows, можно в терминале с помощью команды:

curl.exe --version

В результате должно быть выведено что-то похожее на:

curl 8.0.1 (Windows) libcurl/8.0.1 Schannel WinIDN

Дата выпуска: 2023-03-20

Протоколы: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp

Особенности: AsynchDNS HSTS HTTPS-прокси IDN IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets

Если вы являетесь пользователем Windows, замените все экземпляры "curl" в командах статьи на строку "curl.exe". В противном случае установите подсистему Windows для Linux (WSL) и следуйте приведенным ниже инструкциям.

Linux

В Linux процедура установки curl меняется в зависимости от используемого дистрибутива. Популярные дистрибутивы Linux, такие как Ubuntu и Fedora, поставляются с ним по умолчанию. Таким образом, вы можете использовать curl непосредственно в терминале.

В других дистрибутивах curl может быть не включен в комплект поставки. В этом случае его можно добавить с помощью менеджера пакетов дистрибутива. В ОС на базе Debian установить curl можно с помощью следующей команды:

sudo apt-get install curl

Что нужно для использования прокси в curl

Прокси выступает в роли посредника между клиентом и сервером назначения. Он перехватывает запросы клиента, направляет их на сервер, получает ответ от сервера и отправляет его обратно клиенту. Такой подход с использованием посредника повышает анонимность и помогает избежать сетевых ограничений. Это связано с тем, что сервер назначения будет воспринимать запросы как исходящие с IP и местоположения выбранного прокси-сервера и от вас.

Чтобы начать использовать curl с прокси-сервисами, сначала необходимо получить доступ к прокси-серверу. В частности, вот синтаксис URL-адреса прокси-сервера:

[<ПРОТОКОЛ>://][<ИМЯ ПОЛЬЗОВАТЕЛЯ>:<ПАРОЛЬ>]@<ХОСТ>[:<ПОРТ>].

Он состоит из:

  • <PROTOCOL>: протокол, который будет использоваться для подключения к прокси-серверу. Если протокол не указан, то по умолчанию curl использует протокол http://.
  • <HOST>: Необходимый IP-адрес или URL-имя хоста прокси-сервера.
  • <PORT>: Номер порта, который прослушивает прокси-сервер. Если порт не указан, то по умолчанию curl будет использовать 1080.
  • <USERNAME>: Дополнительное имя пользователя, которое необходимо указать при аутентификации.
  • <PASSWORD>: необязательный пароль, который необходимо указать при аутентификации.

Что касается прокси-протоколов, то наиболее популярными являются HTTP и HTTPS, за которыми следует SOCKS.

Пришло время обзавестись действующим HTTP-прокси!

Вы можете получить