Отправка HTTP-запроса

Clojure:
Отправка HTTP-запроса

Как:

В Clojure вы можете отправить HTTP-запрос, используя клиент clj-http.

Сначала добавьте зависимость в ваш project.clj:

[clj-http "3.12.3"]

Теперь отправим GET-запрос:

(require '[clj-http.client :as client])

(let [response (client/get "http://httpbin.org/get")]
  (println response))

Пример вывода:

{:status 200, :headers {...}, :body "..."}

Чтобы отправить данные:

(let [response (client/post "http://httpbin.org/post" {:form-params {:key "value"}})]
  (println response))

Погружение

Отправка HTTP-запросов - это не новинка. Это так же старо, как и сам веб. Clojure, будучи современным Lisp, имеет несколько библиотек для отправки HTTP-запросов. clj-http - популярная из них, но существуют и другие, такие как http-kit или core Clojure clj-http.client.

clj-http использует под капотом Apache HttpComponents Client для Java. Она универсальна, но может казаться слишком “на Java”. В качестве альтернативы, http-kit более легковесный и идиоматичный для Clojure, но менее функциональный.

Когда вы отправляете HTTP-запросы, вы делаете это через TCP/IP, который формирует ваши запросы в соответствии с устоявшимся протоколом. Этот универсальный стандарт позволяет вам взаимодействовать практически с любым веб-сервисом.

Смотрите также