Clojure:
שליחת בקשת HTTP

איך לעשות:

שליחת בקשת HTTP בClojure היא פשוטה. עם ספריית clj-http, הקוד קצר ולעניין.

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

; שליחת בקשת GET
(def response (client/get "http://example.com"))
(println (:status response))
(println (:headers response))
(println (:body response))

תוצאת הדוגמא:

200
{"Content-Type" "text/html; charset=UTF-8", ...}
"<html> ... </html>"

לשליחת בקשת POST, פשוט הוסף מפרמטים.

(def post-response (client/post "http://example.com/post"
  {:form-params {:key1 "value1" :key2 "value2"}}))
(println (:status post-response))

תוצאת הדוגמא:

200

צלילה עמוקה

שליחת בקשות HTTP היא חלק חשוב בתקשורת ברשת מאז תחילת האינטרנט. בעבר נעשה שימוש בספריות כמו java.net.* שב-Java, אך ב-Clojure מעדיפים ספריות פשוטות ויעילות כמו clj-http. clj-http מסתמכת על Apache HttpClient לפרטי המימוש ומוסיפה ממשק פשוט ונוח ל-Clojure.

יתרונות clj-http כוללים התממשקות נוחה עם מבני נתונים של Clojure, ניהול אוטומטי של קוקיז וחיבורים, ודינמיות בשליחת בקשות - ניתן לשלב קלוז’רים להתאמה אישית של התהליך.

יש גם אלטרנטיבות אחרות ל-shlj-http כמו http-kit וaleph שמציעות מודלים שונים של תקשורת אסינכרונית ותומכות ב-HTTP/2.

ראה גם: