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, который формирует ваши запросы в соответствии с устоявшимся протоколом. Этот универсальный стандарт позволяет вам взаимодействовать практически с любым веб-сервисом.
Смотрите также
- репозиторий
clj-httpна GitHub: https://github.com/dakrone/clj-http - Официальный сайт Clojure: https://clojure.org
- Документация HttpComponents Client: https://hc.apache.org/httpcomponents-client-ga/
- Для потребностей в реальном времени рассмотрите
http-kit: http://www.http-kit.org