Clojure:
Tải trang web

Làm thế nào:

Trong Clojure, bạn có thể sử dụng clj-http để nhanh chóng tải một trang web. Dưới đây là một ví dụ cơ bản:

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

(defn download-page [url]
  (client/get url))

;; Sử dụng như thế này:
(defn -main []
  (println (download-page "http://example.com")))

Nếu bạn thử, bạn sẽ nhận được một bản đồ đầy đặc tả. Phần hấp dẫn nằm ở :body:status.

Sâu hơn

Trong quá khứ, việc tải web là sử dụng ‘wget’ hoặc ‘curl’ trên dòng lệnh. Bây giờ, các ngôn ngữ như Clojure tạo ra một lớp trừu tượng với các thư viện. clj-http là một trong số các thư viện đó, nó bao bọc các thành phần HttpComponents của Java cho phong cách chức năng của Clojure.

Có lựa chọn khác? Chắc chắn. Bạn có thể sử dụng trực tiếp java.net.HttpURLConnection hoặc chọn một thư viện khác như http-kit – nhưng clj-http rất thoải mái và chứa đựng hầu hết mọi thứ bạn cần ngay lập tức.

Về mặt kỹ thuật, clj-http chuyển yêu cầu của bạn thành một thực thể HTTP Java, thực hiện cuộc gọi, và trả lại phản hồi. Phía sau hậu trường, nó đang xử lý việc chuyển hướng, phân tích các tiêu đề, và quản lý phần nội dung phản hồi để bạn có thể tập trung vào dữ liệu của mình, không phải công việc nền.

Xem thêm