تحويل curl إلى Dart

قم بتحويل أوامر curl إلى كود Dart باستخدام حزمة http. يعمل curl2code بالكامل في متصفحك عبر WebAssembly — بياناتك تبقى خاصة. لـ Kotlin، جرب محول curl إلى Kotlin. لـ Swift، راجع curl إلى Swift. أدناه أمثلة Dart جاهزة للاستخدام لـ Flutter.

كيفية نسخ curl من متصفحك

  1. 1

    افتح أدوات المطور (DevTools)

    اضغط على F12 أو Ctrl+Shift+I لفتح أدوات مطور المتصفح.

  2. 2

    انتقل إلى علامة تبويب الشبكة (Network)

    انقر فوق علامة التبويب Network وقم بالإجراء الذي يؤدي إلى إرسال طلب HTTP.

  3. 3

    نسخ كـ cURL

    انقر بزر الماوس الأيمن على الطلب ← CopyCopy as cURL. ثم قم بلصقه أعلاه.

الأسئلة الشائعة

ما هي حزمة http في Dart؟

حزمة http هي عميل HTTP الموصى به لـ Dart و Flutter. توفر واجهة برمجة تطبيقات بسيطة تعتمد على Future لعمليات GET و POST والرفع متعدد الأجزاء والبث (streaming). قم بالتثبيت باستخدام dart pub add http. تعمل عبر جميع منصات Dart — الهاتف المحمول، الويب، والخادم. يستخدمها curl2code كخيار افتراضي لتحويلات Dart.

http مقابل dio مقابل HttpClient — أيهما أستخدم؟

http بسيطة وخفيفة الوزن — رائعة للطلبات الأساسية. dio تضيف الاعتراضات (interceptors)، FormData، تقدم التنزيل، والإلغاء. HttpClient (dart:io) منخفضة المستوى ومدمجة ولكنها أكثر إسهابًا. لتطبيقات Flutter التي تحتاج إلى اعتراضات، اختر dio. لعملاء الهاتف المحمول المماثلين، راجع curl إلى Kotlin أو curl إلى Swift.

كيفية التعامل مع المصادقة في Dart؟

مرر الترويسات إلى الطلب: http.get(url, headers: { "Authorization": "Bearer $token" }). للمصادقة الأساسية، قم بالترميز باستخدام base64Encode(utf8.encode("$user:$pass")). يقوم curl2code بتحويل أعلام -u و -H 'Authorization' إلى كود Dart مع ترويسات مكتوبة بشكل صحيح.

كيفية إرسال بيانات النموذج متعدد الأجزاء في 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؟

جميع طرق Dart HTTP تعيد 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.

كيفية استخدام بروكسي في 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 من كل من وسوم -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.

روابط مفيدة

أدلة curl

تحويل curl إلى لغات أخرى