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-kit
和aleph
。clj-http
是对Java的Apache HttpClient
的封装,提供了Clojure风格的接口。