Clojure:
ส่งคำขอ HTTP

วิธีทำ:

ใน Clojure, คุณสามารถส่งคำขอ HTTP ได้โดยใช้ clj-http client.

ก่อนอื่น, เพิ่ม dependency ไปยัง project.clj ของคุณ:

[clj-http "3.12.3"]

ตอนนี้, ไปส่งคำขอ GET กัน:

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

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

ตัวอย่างผลลัพธ์:

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

เพื่อโพสต์ข้อมูล:

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

ศึกษาเพิ่มเติม

การส่งคำขอ HTTP ไม่ใช่เรื่องใหม่ มันเก่าแก่เท่ากับเว็บเอง Clojure, ซึ่งเป็น Lisp สมัยใหม่, มีหลาย libs ที่ทำให้สามารถส่งคำขอ HTTP ได้ clj-http เป็นตัวที่ได้รับความนิยม, แต่ยังมีอื่นๆ เช่น http-kit หรือ clj-http.client ของ Clojure เอง

clj-http ใช้ Apache HttpComponents Client สำหรับ Java ภายใต้ประทุน มันทรงพลังแต่อาจรู้สึกหนักไปทาง Java ทางเลือก, http-kit, เป็นไปตามแบบของ Clojure มากกว่าและเบากว่า แต่คุณลักษณะอาจจะน้อยกว่า

เมื่อคุณส่งคำขอ HTTP, คุณกำลังทำเช่นนั้นผ่าน TCP/IP, ซึ่งจะจัดเรียงคำขอของคุณตามโปรโตคอลที่มีมาอย่างยาวนาน มาตรฐานสากลนี้ทำให้คุณสามารถโต้ตอบกับบริการเว็บที่มีอยู่อย่างแท้จริง

ดูเพิ่มเติม