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

Как пользоваться cURL

·179 слов·1 минута
Блог о Сетях, Инфраструктуре и DevOps
Автор
Блог о Сетях, Инфраструктуре и DevOps
DevOps, Infrastructure engineer, Expert Cyber Security

Как пользоваться cURL
#

cURL (client URL) — это инструмент командной строки на основе библиотеки libcurl для передачи данных с сервера и на сервер при помощи различных протоколов, в том числе HTTP, HTTPS, FTP, FTPS, IMAP, IMAPS, POP3, POP3S, SMTP и SMTPS.

Начиная с Windows 10 (build 1803) и Server 2019, исполняемый файл curl поставляется в комплекте.

where curl
curl --version

Отправка GET-запроса
#

curl http://www.asterisker.com
curl https://www.asterisker.com

Скачать файл
#

curl -O https://www.asterisker.com/far.tar.gz
curl -O https://www.asterisker.com/far.tar.gz -O https://www.asterisker.com/far2.tar.gz
# или
curl -o far-new.tar.gz https://www.asterisker.com/far.tar.gz

Получение заголовков HTTP
#

curl -I https://www.asterisker.com

Игнорирование ошибки сертификатов
#

curl -k https://www.asterisker.com

Отправка POST-запроса
#

curl --data "param1=test1&param2=test2" https://www.asterisker.com
# или
curl -d '{"param1":"test1","param2":"test2"}' https://www.asterisker.com

Telnet
#

curl -v telnet://www.asterisker.com:22

Получить внешний IP адрес
#

curl ipinfo.io
# или
curl ifconfig.me
# В PowerShell используется curl как алиас для Invoke-WebRequest, а не настоящий curl, поэтому нужно использовать curl.exe

Подмена IP домена
#

# Альтернатива правки /etc/hosts
# TCP-подключение идёт к 127.0.0.1:443 (локальный хост), а не к IP, который вернул бы обычный DNS
curl --resolve www.asterisker.com:443:127.0.0.1 https://www.asterisker.com
# или
curl --resolve www.asterisker.com:443:[::1] https://www.asterisker.com