Утиліта curl полегшує життя
Утиліта 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, що ми пригадали. Якщо у вас є ще якійсь корисні приклади — діліться в коментарях.