تحويل curl إلى Node.js

قم بتحويل أوامر curl إلى كود Node.js باستخدام وحدة http المدمجة. يعمل curl2code بالكامل في متصفحك عبر WebAssembly — مفاتيح API وبياناتك تبقى خاصة. بالنسبة لـ JavaScript من جهة المتصفح، راجع محول curl إلى JavaScript. إذا كنت تفضل Python، فجرب curl إلى Python. ستجد أدناه أمثلة جاهزة للاستخدام.

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

  1. 1

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

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

  2. 2

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

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

  3. 3

    نسخ كـ cURL

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

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

ما هي وحدة http في Node.js؟

وحدتا http و https هما وحدتان مدمجتان في Node.js لإجراء طلبات HTTP دون أي تبعيات خارجية. توفران تحكماً منخفض المستوى في تدفقات الطلب/الاستجابة. لبدائل ذات مستوى أعلى، يدعم curl2code أيضاً axios، و node-fetch، و got، و ky، و superagent.

مقارنة بين http و axios و node-fetch و got — أيهما يجب أن أستخدم؟

وحدة http لا تتطلب تبعيات ولكنها مطولة في الكود. axios توفر واجهة برمجة تطبيقات نظيفة مع معترضات (interceptors) وتحليل JSON تلقائي. node-fetch تحاكي Fetch API الخاصة بالمتصفح. got غنية بالميزات مثل إعادة المحاولة، والتقسيم لصفحات (pagination)، والتدفقات (streams). اختر بناءً على احتياجات المشروع. لـ JavaScript المتصفح، راجع محول curl إلى JavaScript.

كيفية التعامل مع المصادقة في Node.js؟

اضبط ترويسة Authorization في كائن الخيارات. لمصادقة Basic، استخدم Buffer.from(user + ':' + pass).toString('base64'). مع axios، استخدم خيار تكوين auth المدمج. يقوم curl2code بتحويل أعلام -u ورموز Bearer لجميع مكتبات Node.js المدعومة.

كيفية إرسال بيانات نموذج متعدد الأجزاء في Node.js؟

باستخدام وحدة http المدمجة، قم ببناء جسم الطلب يدوياً أو استخدم حزمة form-data. مع axios، مرر مثيلاً من FormData كجسم للطلب. يحتوي Node.js 18+ على فئة FormData مدمجة. يتعامل curl2code مع أعلام -F لكل نوع من المكتبات.

كيفية التعامل مع أخطاء HTTP في Node.js؟

مع http، استمع لحدث 'error' على الطلب وتحقق من response.statusCode. مع axios، يتم إلقاء أخطاء لأكواد الحالة غير 2xx ويمكن التقاطها في try/catch. مع got، استخدم نفس النمط بالإضافة إلى منطق إعادة المحاولة المدمج عند الفشل.

كيفية التعامل مع استجابات البث (streaming) في Node.js؟

تعيد وحدة http تدفقاً قابلاً للقراءة افتراضياً — قم بتوجيهه باستخدام response.pipe(fs.createWriteStream('file')). مع got، استخدم got.stream(url). مع axios، اضبط responseType: 'stream'. يعد البث مثالياً للملفات الكبيرة ويتجنب تحميل الاستجابات بالكامل في الذاكرة.

كيفية ضبط المهلات في طلبات HTTP في Node.js؟

مع http، مرر timeout في الخيارات واستمع لحدث 'timeout'، ثم استدعِ req.destroy(). تقبل Axios قيمة timeout بالمللي ثانية. تدعم Got كلاً من timeout.request وإعادة المحاولة التلقائية المدمجة مع تأخير قابل للتكوين.

كيفية استخدام بروكسي مع Node.js؟

تتطلب وحدة http المدمجة نفق بروكسي يدوياً. استخدم حزم https-proxy-agent أو http-proxy-agent. تدعم Axios البروكسي عبر تكوين proxy. تستخدم Got خيار agent مع وكلاء البروكسي. يقوم curl2code بتحويل أعلام -x و --proxy بشكل مناسب.

كيف يمكن إرسال طلب POST مع جسم JSON في Node.js؟

قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى Node.js باستخدام curl2code. يستخدم الكود الناتج axios.post(url, { key: 'value' }). يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود axios.

كيف يمكن إضافة مصادقة Bearer token في Node.js؟

قم بتمرير curl -H "Authorization: Bearer YOUR_TOKEN" URL إلى curl2code وسيقوم بإنشاء كود axios مع ترويسة المصادقة: headers: { Authorization: 'Bearer YOUR_TOKEN' }. يكتشف curl2code رموز Bearer من كل من وسوم -H "Authorization: Bearer ..." و --oauth2-bearer. بالنسبة لـ Basic auth، استخدم -u user:pass.

كيف يمكن ضبط ترويسة Content-Type في Node.js؟

يقوم curl2code بتحويل curl -H "Content-Type: application/json" URL إلى كود axios مع الترويسة المناسبة: headers: { 'Content-Type': 'application/json' }. بالنسبة لبيانات -d، يستخدم curl افتراضيًا application/x-www-form-urlencoded؛ أما بالنسبة لرفع النماذج باستخدام -F، فإنه يستخدم multipart/form-data. يقوم curl2code بربط كل منها بـ API الصحيح في axios.

روابط مفيدة

أدلة curl

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