המרת curl ל-Dart
המר פקודות curl לקוד Dart באמצעות חבילת ה-http. curl2code רץ כולו בדפדפן שלך דרך WebAssembly — המידע שלך נשאר פרטי. עבור Kotlin, נסה את ממיר curl ל-Kotlin. עבור Swift, ראה curl ל-Swift. להלן דוגמאות Dart מוכנות לשימוש עבור Flutter.
איך להעתיק curl מהדפדפן שלך
- 1
פתח את DevTools
לחץ על F12 או על Ctrl+Shift+I כדי לפתוח את כלי המפתחים של הדפדפן.
- 2
עבור ללשונית Network
לחץ על לשונית ה-Network ובצע את הפעולה שמפעילה את בקשת ה-HTTP.
- 3
העתק כ-cURL
לחץ קליק ימני על הבקשה ← Copy ← Copy as cURL. לאחר מכן הדבק אותה למעלה.
שאלות נפוצות (FAQ)
מהי חבילת ה-http של Dart?
חבילת ה-http היא לקוח ה-HTTP המומלץ עבור Dart ו-Flutter. היא מספקת API פשוט מבוסס Future עבור GET, POST, העלאות multipart וסטרימינג. התקינו עם dart pub add http. היא עובדת בכל פלטפורמות Dart — מובייל, ווב ושרת. curl2code משתמש בה כברירת מחדל להמרות Dart.
http לעומת dio לעומת HttpClient — במה כדאי להשתמש?
http היא פשוטה וקלת משקל — מצוינת לבקשות בסיסיות. dio מוסיפה interceptors, FormData, התקדמות הורדה וביטול. HttpClient (dart:io) היא ברמה נמוכה יותר ומובנית אך מילולית יותר. עבור אפליקציות Flutter הזקוקות ל-interceptors, בחרו ב-dio. ללקוחות מובייל דומים, ראו curl ל-Kotlin או curl ל-Swift.
איך מטפלים באימות ב-Dart?
העבירו כותרות לבקשה: http.get(url, headers: { "Authorization": "Bearer $token" }). עבור אימות Basic, בצעו קידוד עם base64Encode(utf8.encode("$user:$pass")). curl2code ממיר דגלי -u ו--H 'Authorization' לקוד Dart עם כותרות מוגדרות כראוי.
איך שולחים נתוני multipart form ב-Dart?
השתמשו ב-http.MultipartRequest: צרו את הבקשה, הוסיפו שדות עם request.fields['key'] = 'value', וקבצים עם request.files.add(await http.MultipartFile.fromPath('file', path)). לאחר מכן שלחו עם request.send(). curl2code ממיר דגלי -F לתבנית זו.
איך מטפלים בשגיאות HTTP ב-Dart?
חבילת ה-http אינה זורקת שגיאות על שגיאות HTTP — בדקו את response.statusCode ידנית. עטפו קריאות ב-try/catch עבור SocketException (שגיאות רשת) ו-TimeoutException. השתמשו ב-http.Client עם close() לניקוי משאבים תקין באפליקציות ארוכות טווח.
איך משתמשים ב-async/await עם Dart HTTP?
כל מתודות ה-HTTP ב-Dart מחזירות Future — השתמשו ב-final response = await http.get(Uri.parse(url)). ה-async/await של Dart מובנה בשפה. לבקשות מקביליות, השתמשו ב-Future.wait([request1, request2]). לתבניות אסינכרוניות דומות, ראו curl ל-TypeScript או curl ל-Swift.
איך מגדירים פסקי זמן ב-Dart?
השתמשו במתודת .timeout() על כל Future: http.get(url).timeout(Duration(seconds: 30)). זה זורק TimeoutException כשחורגים מהזמן. לשליטה רבה יותר, צרו http.Client והגדירו דרך ה-HttpClient הבסיסי מ-dart:io עם connectionTimeout.
איך משתמשים ב-proxy ב-Dart?
השתמשו ב-HttpClient מ-dart:io: HttpClient()..findProxy = (uri) => 'PROXY proxy:8080'. עבור חבילת ה-http, צרו IOClient מותאם אישית העוטף את ה-HttpClient המוגדר. Dart מכבד גם משתני סביבה HTTP_PROXY ו-NO_PROXY.
איך שולחים בקשת POST עם גוף JSON ב-Dart?
המירו פקודת curl POST כמו curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ל-Dart באמצעות curl2code. הקוד שנוצר משתמש ב-http.post(uri, body: jsonEncode(data), headers: {'Content-Type': 'application/json'}). curl2code מזהה באופן אוטומטי דגלי -d/--data עם תוכן JSON ומגדיר את כותרת Content-Type המתאימה בקוד ה-http.
איך מוסיפים אימות Bearer token ב-Dart?
העבירו את curl -H "Authorization: Bearer YOUR_TOKEN" URL ל-curl2code והוא יפיק קוד http עם כותרת האימות: headers: {'Authorization': 'Bearer YOUR_TOKEN'}. curl2code מזהה Bearer tokens גם מדגלי -H "Authorization: Bearer ..." וגם מדגלי --oauth2-bearer. עבור Basic auth, השתמשו ב--u user:pass.
איך מגדירים כותרת Content-Type ב-Dart?
curl2code ממיר את curl -H "Content-Type: application/json" URL לקוד http עם הכותרת המתאימה: headers: {'Content-Type': 'application/json'}. עבור נתוני -d, curl משתמש כברירת מחדל ב-application/x-www-form-urlencoded; עבור העלאות טפסים עם -F, הוא משתמש ב-multipart/form-data. curl2code ממפה כל אחד מהם ל-API הנכון של http.