המרת curl ל-Elixir

המר פקודות curl לקוד Elixir באמצעות HTTPoison. curl2code רץ כולו בדפדפן שלך דרך WebAssembly — המידע שלך נשאר פרטי. עבור Ruby, נסה את ממיר curl ל-Ruby. עבור Go, ראה curl ל-Go. להלן דוגמאות Elixir מוכנות לשימוש.

איך להעתיק curl מהדפדפן שלך

  1. 1

    פתח את DevTools

    לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.

  2. 2

    עבור ללשונית Network

    לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.

  3. 3

    העתק כ-cURL

    לחץ קליק ימני על הבקשה ← CopyCopy as cURL. לאחר מכן הדבק אותה למעלה.

שאלות נפוצות (FAQ)

מהו Elixir HTTPoison?

HTTPoison הוא לקוח ה-HTTP הפופולרי ביותר עבור Elixir, הבנוי על גבי ספריית hackney של Erlang. הוא מספק API נקי ופונקציונלי עבור GET, POST, סטרימינג ובקשות אסינכרוניות. הוסיפו ל-deps ב-mix.exs: {:httpoison, "~> 2.0"}. curl2code משתמש ב-HTTPoison כברירת מחדל להמרות Elixir.

HTTPoison לעומת Req לעומת Tesla לעומת Finch — במה להשתמש?

HTTPoison הוא המבוסס והנפוץ ביותר. Req הוא חדש יותר, כולל הכל (batteries-included) עם ניסיונות חוזרים ואימות. Tesla מציע ארכיטקטורת middleware כמו Faraday. Finch הוא ברמה נמוכה, בעל ביצועים גבוהים לשימוש בייצור. לגישות פונקציונליות דומות, ראו curl ל-Clojure או curl ל-Ruby.

איך מטפלים באימות ב-Elixir?

העבירו כותרות כרשימה של tuples מחרוזות: HTTPoison.get(url, [{"Authorization", "Bearer token"}]). עבור אימות Basic, קודדו את user:pass עם Base.encode64/1 והוסיפו "Basic " בתחילת הערך. בצעו pattern match לתגובה עבור {:ok, response} או {:error, reason}. curl2code ממיר דגלי -H ו--u ל-Elixir אידיומטי.

איך שולחים נתוני multipart form ב-Elixir?

השתמשו ב-{:multipart, parts} כגוף הבקשה: HTTPoison.post(url, {:multipart, [{:file, path, {"form-data", [{"name", "file"}, {"filename", "doc.pdf"}]}, []}]}). לשדות טופס פשוטים, הוסיפו tuples של {"key", "value"}. curl2code מטפל בדגלי -F עבור multipart ב-HTTPoison.

איך מטפלים בשגיאות בבקשות HTTP ב-Elixir?

HTTPoison מחזיר tagged tuples: {:ok, response} או {:error, reason}. בצעו pattern match עם case או with: case HTTPoison.get(url) do {:ok, %{status_code: 200}'} -> ... ; {:error, %{reason: reason}'} -> ... end. זהו Elixir אידיומטי — טיפול מפורש ומקיף בשגיאות ללא חריגות.

איך מבצעים בקשות HTTP מקביליות ב-Elixir?

השתמשו ב-Task.async/1 ו-Task.await/1: tasks = urls |> Enum.map(&Task.async(fn -> HTTPoison.get(&1) end)) ואז results = tasks |> Enum.map(&Task.await/1). ה-BEAM VM של Elixir מטפל באלפי תהליכים מקביליים ביעילות. למקביליות דומה, ראו curl ל-Go.

איך מגדירים פסקי זמן ב-Elixir?

העבירו אפשרויות ל-HTTPoison: HTTPoison.get(url, [], [timeout: 30_000, recv_timeout: 30_000]). timeout הוא פסק הזמן לחיבור, recv_timeout הוא פסק הזמן לתגובה (שניהם במילי-שניות). עבור ניסיונות חוזרים, עטפו בפונקציה רקורסיבית עם מספר ניסיונות יורד או השתמשו ב-retry המובנה של ספריית Req.

איך משתמשים ב-proxy ב-Elixir?

העבירו אפשרות proxy ל-HTTPoison: HTTPoison.get(url, [], [proxy: {"proxy.host", 8080}]). עבור פרוקסי עם אימות, השתמשו ב-proxy_auth: {"user", "pass"}. HTTPoison תומך גם בפרוקסי SOCKS5 דרך ספריית hackney הבסיסית. curl2code ממיר דגלי -x לתצורת פרוקסי ב-Elixir.

איך שולחים בקשת POST עם גוף JSON ב-Elixir?

המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Elixir באמצעות curl2code. הקוד שנוצר משתמש ב-HTTPoison.post(url, Jason.encode!(body), [{'Content-Type', 'application/json'}]). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-HTTPoison.

איך מוסיפים אימות Bearer token ב-Elixir?

העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד HTTPoison עם כותרת האימות: [{'Authorization', 'Bearer YOUR_TOKEN'}]. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.

איך מגדירים כותרת Content-Type ב-Elixir?

curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד HTTPoison עם הכותרת המתאימה: [{'Content-Type', 'application/json'}]. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של HTTPoison.

קישורים שימושיים

מדריכי curl

המרת curl לשפות אחרות