המרת curl ל-Ruby
curl2code ממיר פקודות curl לקוד Ruby באמצעות ספריית ה-net/http הסטנדרטית. הכל רץ מקומית בדפדפן שלך דרך WebAssembly לפרטיות מלאה. אם אתה מעדיף Python, בדוק את ממיר curl ל-Python. עבור Elixir, ראה curl ל-Elixir. להלן דוגמאות Ruby מעשיות.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מה זה Ruby net/http?
הספרייה net/http של Ruby היא לקוח ה-HTTP הסטנדרטי הכלול בכל התקנה של Ruby. היא מטפלת ב-GET, POST, העלאות multipart, SSL וכותרות מותאמות אישית. אין צורך בהתקנת gem. curl2code תומך גם ב-HTTParty, gem פופולרי המפשט תבניות HTTP נפוצות עם API נקי והצהרתי.
net/http לעומת HTTParty לעומת Faraday — במה כדאי להשתמש?
net/http הוא מובנה וללא תלות חיצונית — מצוין למשימות פשוטות וסקריפטים. HTTParty מספק DSL נקי עם פענוח JSON אוטומטי. Faraday מציע middleware, תבניות מתאמים (adapters) ואת הגמישות המרבית. לפשטות דומה בסקריפטים, עיין ב-ממיר curl ל-Python או ב-curl ל-PHP.
איך מטפלים באימות ב-Ruby?
עם net/http: request["Authorization"] = "Bearer token". עבור אימות Basic: request.basic_auth("user", "pass"). HTTParty משתמש ב-headers: { "Authorization" => "Bearer token" } או basic_auth: { username: "user", password: "pass" }. curl2code מטפל גם ב--u וגם בדגלי כותרות.
איך שולחים נתוני טופס (multipart form data) ב-Ruby?
עם net/http, השתמש ב-gem מסוג multipart-post או בנה את גוף ה-multipart ידנית באמצעות Net::HTTP::Post עם מחרוזות גבול. HTTParty מפשט זאת עם body: { file: File.open("path") }. curl2code ממיר דגלי -F עבור שתי גרסאות הספרייה.
איך מטפלים בשגיאות HTTP ב-Ruby?
עם net/http, בדוק אם response.is_a?(Net::HTTPSuccess) או השתמש ב-response.value שזורק חריגה בסטטוס שאינו 2xx. HTTParty מחזיר אובייקט תגובה עם המתודות .success? ו-.code. עבור חיבורים מתמשכים, תפוס את Errno::ECONNREFUSED ו-Net::ReadTimeout.
איך מבצעים בקשות HTTP מקביליות ב-Ruby?
הספרייה הסטנדרטית של Ruby היא סינכרונית. השתמש ב-Thread.new { ... } למקביליות בסיסית או ב-gem מסוג concurrent-ruby למאגרי תהליכונים (thread pools). עבור I/O אסינכרוני, השתמש ב-async-http עם ה-gem מסוג Async. הספרייה Typhoeus מספקת תור לבקשות מקביליות. לתמיכה מובנית באסינכרוניות, ראה curl ל-Elixir.
איך מגדירים פסקי זמן ב-Ruby?
עם net/http: http.open_timeout = 10 (חיבור) ו-http.read_timeout = 30 (תגובה). HTTParty מקבל אופציית timeout: 30. אלו ממופים ל---connect-timeout ו---max-time של curl. תמיד הגדר פסקי זמן כדי למנוע בקשות שנתקעות ללא הגבלה.
איך משתמשים בפרוקסי ב-Ruby?
עם net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). או הגדר משתני סביבה http_proxy ו-https_proxy — Ruby מכבדת אותם אוטומטית. HTTParty משתמש באופציית http_proxy: 'http://proxy:8080'. curl2code ממיר דגלי -x לתחביר ה-Ruby הנכון.
איך שולחים בקשת POST עם גוף JSON ב-Ruby?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Ruby באמצעות curl2code. הקוד שנוצר משתמש ב-Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-net/http.
איך מוסיפים אימות Bearer token ב-Ruby?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד net/http עם כותרת האימות: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-Ruby?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד net/http עם הכותרת המתאימה: req['Content-Type'] = 'application/json'. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של net/http.