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
clj-http
GitHub-repository: https://github.com/dakrone/clj-http- Officiële Clojure-site: https://clojure.org
- Documentatie van HttpComponents Client: https://hc.apache.org/httpcomponents-client-ga/
- Voor real-time behoeften, overweeg
http-kit
: http://www.http-kit.org