Gửi một yêu cầu HTTP

Clojure:
Gửi một yêu cầu HTTP

Làm Sao:

Trong Clojure, bạn có thể gửi yêu cầu HTTP sử dụng khách hàng clj-http.

Đầu tiên, thêm phụ thuộc vào project.clj của bạn:

[clj-http "3.12.3"]

Bây giờ, hãy gửi một yêu cầu GET:

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

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

Mẫu đầu ra:

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

Để đăng dữ liệu:

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

Đào Sâu

Gửi yêu cầu HTTP không phải là điều mới. Nó cũ như chính web. Clojure, với tư cách là một Lisp hiện đại, có một số thư viện để thực hiện yêu cầu HTTP. clj-http là một trong những thư viện phổ biến, nhưng cũng có những thư viện khác như http-kit hoặc clj-http.client cốt lõi của Clojure.

clj-http dựa trên Apache HttpComponents Client cho Java ở phía dưới. Nó đa năng nhưng có thể cảm thấy nặng về Java. Một lựa chọn khác, http-kit, nhẹ hơn và theo phong cách Clojure hơn nhưng không giàu tính năng.

Khi bạn gửi yêu cầu HTTP, bạn làm điều đó qua TCP/IP, mà đóng gói các yêu cầu của bạn theo một giao thức đã được thiết lập rõ ràng. Chuẩn mực toàn cầu này cho phép bạn tương tác với hầu như bất kỳ dịch vụ web nào.

Xem Thêm