Утиліта curl полегшує життя

IT Education Center
2 min readAug 4, 2021

Утиліта curl — інструмент командного рядка, що доступний на Unix, Linux, Mac OS X, Windows і багатьох інших платформах. Він забезпечує простий доступ до протоколу HTTP безпосередньо з командного рядка. Це ідеальний спосіб взаємодії з CouchDB через HTTP REST API.

Найбільш популярні команди curl:

Перегляд редиректів і заголовків

Часта помилка, коли працює два редіректи замість одного. Наприклад, спочатку на https, а потім на url зі “слеш” вкінці. Знайомо? Щоб уникнути цього, слід використовувати:

curl -I -L http://google.com

Завантажування файлів і зберігання під іншою назвою

Іноді потрібно відразу зберегти файл із власноруч заданою назвою. Тоді слід зробити наступне:

curl -o oferta.html https://iteducenter.ua/oferta

Ігнорування помилок сертифікатів

Актуально, коли тестуєш внутрішні сервіси, де використовуються самопідписані сертифікати (сертифікати безпеки, що не підписані органом сертифікації):

curl / — insecure https://10.20.30.1/test_app

Передача заголовку

Один з варіантів використання: вам знадобиться звернутися через IP до якогось вебсерверу, де крутиться безліч доменів. Щоб вам відповів потрібний домен, задайте його в заголовку:

curl -I -H “Host:iteducenter.ua” http://104.21.86.198

POST запит у форматі JSON

Це потрібно для роботи з API. Наприклад, з різними нодами криптовалют. У приклад відразу додали авторизацію:

curl -H ‘Content-Type: application/json’ / — data ‘{“jsonrpc”:”1.0",”id”:”curltext”,”method”:”getblockchaininfo”,”params”:[]}’ http://username:password@10.20.1.18:8232/

Підміна DNS імен

Працює аналогічно правці локального файлу hosts. Щоб не робити цього кожен раз, можна підміняти DNS записи відразу в curl. Відправляємо запит до iteducenter.ua на localhost:

curl https://iteducenter.ua / — resolve iteducenter.ua:80:127.0.0.1

Вказівка ​​user-agent

Важливо зручно та швидко грепати логи за різними запитами і юзерагентами. Для цього слід ввести:

curl -I http://localhost / — user-agent “I am CURL v.01”

Це основні команди утиліти curl, що ми пригадали. Якщо у вас є ще якійсь корисні приклади — діліться в коментарях.

--

--

IT Education Center

IT Education Center - навчання системному адмініструванню та DevOps