Что такое cURL и как им пользоваться?

Старенькая, добренькая утилита cURL — расшифровывается как Client URL. Это встроенный во многие дистрибутивы инструмент командной строки, а так же независимая библиотека.

Официальный сайт — https://curl.se/

Где используют URL?

На самом деле применение данного инструмента весьма обширно. Он поддерживает: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. curl поддержка SSL сертификатов, HTTP POST, HTTP PUT, FTP загрузка, HTTP отправка данных с форм, proxies, HTTP/2, HTTP/3, cookies, user+password аутентификацию (Basic, Plain, Digest, CRAM-MD5, SCRAM-SHA, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling и прочее.

Конечно же, разработчиками, в основном, cURL используется для передачи данных по схеме протокола HTTP/HTTPS, например, для тестирования API, но на этом его возможности не ограничиваются. cURL также используется в автомобилях, телевизорах, маршрутизаторах, принтерах, звуковом оборудовании, мобильных телефонах, планшетах, телевизионных приставках, медиаплеерах и является механизмом передачи данных через Интернет тысячам программных приложений. curl используется ежедневно практически всеми пользователями Интернета на Земном шаре.

Получить веб-страницу

Самый простой и наиболее распространенный запрос/операция, выполняемая с использованием схемы протокола HTTP, — это ПОЛУЧИТЬ URL-адрес. Сам URL-адрес может относиться как к веб-странице, так и к изображению или файлу. все очень просто. Клиент отправляет запрос GET на сервер и получает запрошенный документ. Для этого введите в командную строку:

curl https://curl.se

В ответ вы получите весь HTML-документ, который доступен по этому URL-адресу, т.е. веб-страниц, отобразится c HTML-тегами в окне вашего терминала.

Но здесь мы не увидим HTTP-заголовков отправляемых с сервера — они обычно скрыты. чтобы увидеть их в ответе используйте параметр curl --include-i), чтобы отобразить их, а также остальную часть документа. В итоге команда преобразится в :

curl -i https://curl.se

Вы можете запросить у удаленного сервера ТОЛЬКО заголовки, используя опцию --head-I), которая заставит curl выдать запрос HEAD. Учтите, что в некоторых особых случаях серверы отвергают метод HEAD.

curl -I https://curl.se

или так:

curl -i --head https://curl.se

HTTP-запрос может включать поле «реферер», мы можем сделать небольшой трюк и подделать его:

curl --referer http://www.example.come http://www.example.com

🙂

Эта запись была размещена в Разное с меткой .