Clojure:
Einen HTTP-Request senden
How to:
Clojure macht HTTP-Anfragen einfach mit der clj-http
bibliothek. Installation: Leinigen project.clj
:
[clj-http "3.12.3"]
Einfache GET-Anfrage:
(require '[clj-http.client :as client])
(let [response (client/get "https://api.example.com/data")]
(println response))
Das könnte etwa so aussehen:
{:status 200, :headers {...}, :body "..."}
POST-Anfrage mit Daten:
(let [response (client/post "https://api.example.com/submit"
{:form-params {:key "value"}})]
(println response))
Deep Dive:
clj-http
ist eine Clojure-Bibliothek für HTTP-Anfragen, die auf Apache HttpClient aufbaut. Alternativen sind http-kit
oder aleph
für asynchrone Anfragen. Wichtig: clj-http
unterstützt Synchrones und Asynchrones API, SSL und automatisches Codieren/Decodieren von JSON. Bei Anfragen wandelt die Bibliothek Clojure-Datenstrukturen in gültige HTTP-Anfragen um und umgekehrt.
See Also:
- clj-http GitHub: https://github.com/dakrone/clj-http
- Apache HttpClient: http://hc.apache.org/httpcomponents-client-ga/index.html
- HTTP-Kit: http://www.http-kit.org/
- Aleph: https://aleph.io/