محول cURL سريع وخاص
يواجه المطورون غالباً أوامر cURL في وثائق واجهات برمجة التطبيقات (API)، أو الشروحات التعليمية، أو عند تتبع أخطاء طلبات الشبكة في المتصفح. وتعد ترجمة نصوص سطر الأوامر هذه إلى كود برمجي يدوياً عملية شاقة وعرضة للأخطاء، خاصة عند التعامل مع الترويسات المعقدة وحمولات JSON المتداخلة.
يقوم محول cURL هذا بأتمتة العملية، مما يتيح لك تحويل أمر cURL إلى مقتطفات برمجية جاهزة للاستخدام على الفور. ولأن عملية التحويل تتم بالكامل داخل متصفح الويب الخاص بك، فإن بياناتك الحساسة — مثل رموز المصادقة، ومفاتيح API، وحمولات البيانات الخاصة — لا تغادر جهازك أبداً. يمكنك بأمان لصق الأوامر التي تحتوي على بيانات اعتماد بيئة الإنتاج دون القلق بشأن تسرب البيانات أو سجلات الخادم.
صيغ المخرجات المدعومة
تدعم الأداة حالياً تحويل طلبات سطر الأوامر إلى بيئتين من أكثر بيئات البرمجة استخداماً:
JavaScript (fetch)
يحتاج مطورو JavaScript غالباً إلى تحويل أمثلة واجهات برمجة التطبيقات (API) إلى كود للواجهة الأمامية أو Node.js. عند تحديد خيار JavaScript، تقوم الأداة بتعيين طريقة cURL والترويسات (headers) ومعلمات البيانات مباشرةً إلى استدعاء fetch() قياسي. هذا يجعل تحويل curl إلى javascript عملية تتم بنقرة واحدة. كما تقوم تلقائياً بهيكلة الترويسات في كائن JavaScript وتضمن تنسيق بيانات JSON بشكل صحيح كنص (stringified body)، لتكون جاهزة للاستخدام مباشرة في دالة async/await.
Python (requests)
يعتمد مطورو Python بشكل كبير على مكتبة requests للتعامل مع طلبات HTTP. تقوم الأداة بتحليل صيغة cURL وتوليد كود Python نظيف، مع تحديد الطريقة الصحيحة تلقائياً (مثل requests.get أو requests.post) وهيكلة الترويسات والبيانات كقواميس Python. يضمن لك تحويل curl إلى python requests عدم تفويت أي إعدادات دقيقة للترويسات أو تنسيق رموز المصادقة (authentication tokens) بشكل خاطئ.
حالات الاستخدام الشائعة
دمج واجهات برمجة التطبيقات (APIs) الخارجية
توفر معظم مستندات واجهات برمجة التطبيقات الحديثة (مثل Stripe أو Twilio أو GitHub) أمثلة برمجية تعتمد أساسًا على cURL. ورغم أن هذا مفيد للاختبار السريع عبر الطرفية (terminal)، إلا أنك ستحتاج في النهاية إلى تضمين هذا الطلب في تطبيقك. لصق المثال من المستندات في هذه الأداة يمنحك نقطة انطلاق مثالية لكودك البرمجي.
محاكاة طلبات المتصفح
عند تصحيح أخطاء تطبيق ويب، من الشائع فتح أدوات المطور (developer tools) في متصفحك، والانتقال إلى علامة التبويب Network، والنقر بزر الماوس الأيمن على الطلب الذي فشل، ثم تحديد "Copy as cURL". يمكنك لصق هذا النص كما هو في المحول لإنشاء كود برمجي. يُعد هذا مفيدًا للغاية في كتابة الاختبارات المؤتمتة، أو استخراج البيانات، أو عزل الأخطاء البرمجية خارج بيئة المتصفح المعقدة.
بناء النماذج الأولية والاختبار
يفضل العديد من المطورين بناء واختبار طلبات HTTP الخاصة بهم في الطرفية أولاً. بمجرد أن يُرجع أمر curl استجابة 200 OK المتوقعة، يمكنك إحضاره إلى هنا لإنشاء كود fetch أو requests المكافئ على الفور، مما يضمن أن تطبيقك يرسل نفس البيانات تمامًا كما في اختبارك الناجح على الطرفية.
كيف يعمل التحويل
عند لصق النص المدخل، تقوم الأداة بتحليله لاستخراج المكونات الأساسية لطلب HTTP:
- الرابط: نقطة النهاية (endpoint) المقصودة للطلب.
- الطريقة: تُستخرج من العلامة
-Xأو--request(مثل GET، POST، PUT، DELETE). إذا لم يتم تحديدها، تكون القيمة الافتراضية GET، أو POST في حال إرفاق بيانات. - الترويسات: تُستخرج من كل علامة
-Hأو--header. ويتم تجميعها في قاموس أو كائن. - البيانات/الحمولة: تُستخرج من العلامات
-dأو--dataأو--data-raw.
على الرغم من أن الأداة تتعامل مع الغالبية العظمى من طلبات API القياسية، إلا أن cURL تُعد أداة ضخمة تحتوي على مئات العلامات المعقدة (مثل --compressed أو --resolve أو مسارات محددة لشهادات SSL). إذا واجه المحلل علامات لا تتوافق بسلاسة مع إعدادات fetch أو requests القياسية، فسيركز على طلب HTTP الأساسي ويتجاهل تلك العلامات.
تُعرض أي وسيطات تم تجاهلها بوضوح أسفل الكود المُولد. يضمن لك ذلك معرفة ما تم استبعاده بالضبط، مما يتيح لك ضبط إعدادات البروكسي أو SSL المتقدمة يدويًا في كود تطبيقك إذا كانت ضرورية.
أدوات مفيدة ذات صلة
التعامل مع واجهات برمجة التطبيقات (APIs) يتطلب غالباً أكثر من مجرد كتابة الطلب. بمجرد إرسال طلبك بنجاح باستخدام الكود المُنشأ، قد تحتاج إلى تنسيق البيانات الناتجة باستخدام منسق JSON لجعلها سهلة القراءة. وإذا فشل طلبك واحتجت إلى فهم رمز الاستجابة الذي تلقيته، يمكنك مراجعة دليل رموز حالة HTTP. أخيرًا، إذا كنت بحاجة إلى تفكيك أو تعديل رابط URL لنقطة النهاية نفسه قبل التحويل، يمكن أن تساعدك أداة محلل الروابط في استخراج وتعديل معلمات استعلام محددة.