Clojure:
Een HTTP-verzoek verzenden

Hoe?

In Clojure kun je HTTP-verzoeken verzenden met de clj-http client.

Voeg eerst de afhankelijkheid toe aan je project.clj:

[clj-http "3.12.3"]

Laten we nu een GET-verzoek verzenden:

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

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

Voorbeeld van uitvoer:

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

Om gegevens te posten:

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

Diepere Duik

HTTP-verzoeken verzenden is niet nieuw. Het is zo oud als het web zelf. Clojure, zijnde een moderne Lisp, heeft verschillende bibliotheken om HTTP-verzoeken te maken. clj-http is een populaire, maar er bestaan ook anderen zoals http-kit of het kernonderdeel van Clojure clj-http.client.

clj-http leunt op de Apache HttpComponents Client voor Java onder de motorkap. Het is veelzijdig maar kan aanvoelen als zwaar Java-georiënteerd. Een alternatief, http-kit, is lichter en meer Clojure-idiomatisch maar minder rijk aan functies.

Wanneer je HTTP-verzoeken verzendt, doe je dit via TCP/IP, wat je verzoeken inkadert volgens een goed gevestigd protocol. Deze universele standaard stelt je in staat om met praktisch elke webdienst daarbuiten te interageren.

Zie Ook