Clojure:
发出 HTTP 请求

How to:

Clojure 提供了好几种发起HTTP 请求的方法。这里, 我们会用 clj-http 库。

首先, 添加依赖到你的 project.clj:

[clj-http "3.12.3"]

然后在代码中引入:

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

现在你就可以发起GET请求了:

(def response (client/get "https://api.github.com/users/octocat"))
(println (:status response))
(println (:body response))

输出应该看起来像这样:

200
{"login":"octocat","id":583231,"node_id":"MDQ6VXNlcjU4MzIzMQ==",...}

Deep Dive

HTTP请求的基础可追溯到早期的Web,由Tim Berners-Lee在1989年发明。与clj-http库类似的库包括http-kitalephclj-http是对Java的Apache HttpClient的封装,提供了Clojure风格的接口。

See Also