🔁
أدوات المطوّرين
May 21, 20267 min readBy BrowseryTools Team

كيف تحوّل cURL إلى كود (fetch وPython requests وNode.js)

الصق أمر cURL واحصل على كود JavaScript fetch أو Python requests أو Node.js — بما في ذلك خدعة 'Copy as cURL' في أدوات المطوّر. تعرّف على ربط كل علَم بالكود كي تثق بالمخرجات، وكل ذلك يُعالَج محلياً في متصفحك.

تحويل cURLcurl إلى fetchcurl إلى pythoncopy as curlapiكود

وجدت نداء الـ API الذي تحتاجه — لكنه مكتوب بـ cURL، وأنت تعمل بـ JavaScript أو Python. أو فتحت أدوات مطوّري المتصفح، ونقرت بزر الفأرة الأيمن على طلب، واخترت «Copy as cURL»، والآن لديك جدار من الأعلام (flags) عليك تحويله إلى كود حقيقي. ترجمة cURL يدوياً عمل دقيق ومتعب: كل -H و-d و-u و-X يجب أن يُربط بالوسيط الصحيح في لغتك، وترويسة واحدة مفقودة تكسر الطلب.

أداة محوّل cURL من BrowseryTools تفعل ذلك فوراً — الصق أمر cURL واحصل على كود نظيف بـ JavaScript fetch وPython requests وNode.js والمزيد، كل ذلك في متصفحك دون رفع أي شيء. يوضّح هذا الدليل ربط الأعلام بالكود كي تقرأ المخرجات وتثق بها.

سير عمل «Copy as cURL»

أسرع طريقة للحصول على طلب يعمل هي أن تدع المتصفح يكتبه لك. افتح أدوات المطوّر (F12)، اذهب إلى تبويب Network، نفّذ الإجراء الذي تريد تكراره، ثم انقر بزر الفأرة الأيمن على الطلب واختر Copy → Copy as cURL. الآن لديك أمر cURL بنفس الترويسات وملفات تعريف الارتباط والجسم الذي أرسله الموقع الحقيقي. الصقه في المحوّل فتحصل على الطلب نفسه ككود تُسقطه في مشروعك.

كيف تُربط أعلام cURL بالكود

حالما تعرف الأعلام القليلة المهمة، يمكنك قراءة أي أمر cURL بنظرة واحدة:

-X POST          ->  أسلوب HTTP
-H "Key: Value"  ->  ترويسة الطلب
-d '{...}'       ->  جسم الطلب (يعني POST)
-u user:pass     ->  مصادقة HTTP Basic
-F field=value   ->  رفع متعدد الأجزاء
-b "name=value"  ->  ملف تعريف ارتباط
-L               ->  اتبع التحويلات

ترويسة مثل -H "Authorization: Bearer abc123" تصبح مدخلاً في كائن headers. والجسم المُمرّر بـ -d يصبح جسم الطلب، وإن كان نوع المحتوى JSON يُسلسَل وفقاً لذلك. و-u user:pass يصبح ترويسة Basic. معرفة هذا الربط هي ما يتيح لك التحقّق من الكود المُولّد بدل الوثوق به أعمى.

الطلب نفسه بثلاث لغات

خذ طلب POST مصادَقاً بسيطاً. بـ cURL:

curl -X POST https://api.example.com/users \
  -H "Authorization: Bearer TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada"}'

بـ JavaScript fetch:

fetch("https://api.example.com/users", {
  method: "POST",
  headers: {
    "Authorization": "Bearer TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Ada" }),
});

بـ Python requests:

import requests

requests.post(
    "https://api.example.com/users",
    headers={"Authorization": "Bearer TOKEN"},
    json={"name": "Ada"},
)

لاحظ كيف يضبط وسيط json= في Python الجسم وترويسة Content-Type تلقائياً — فرق اصطلاحي صغير يتولّاه المحوّل عنك.

مزالق شائعة

الاقتباس والتهريب. أجسام cURL تُحاط بعلامات اقتباس مفردة في الصدفة؛ وحين تحتوي على JSON بعلامات اقتباس مزدوجة، تتسلّل الأخطاء أثناء الترجمة اليدوية. ترك محوّل يحللها يزيل هذا الخطر.

POST الضمني. استخدام -d يجعل الطلب POST حتى دون -X POST. إن ترجمت الأعلام الظاهرة فقط فقد تنتج GET خطأً.

الأسرار في الأمر. الطلب المنسوخ غالباً يحتوي رموزاً وملفات ارتباط حيّة. ولأن المحوّل يعمل كلياً في متصفحك، لا تُرسل تلك الأسرار إلى خادم — لكن عليك مع ذلك مسحها قبل لصق الكود في مستودع مشترك أو تذكرة.

أسئلة شائعة

إلى أي لغات يمكنني التحويل؟ JavaScript fetch، وPython requests، وNode.js، وأهداف شائعة أخرى.

هل يرسل المحوّل أمري إلى أي مكان؟ لا. التحليل والتحويل يجريان محلياً في متصفحك، فأي رموز في الأمر تبقى على جهازك.

هل يمكنني لصق «Copy as cURL» من أدوات المطوّر؟ نعم — وهو من أفضل الاستخدامات؛ فهو يلتقط ترويسات وجسم الطلب الحقيقي بالضبط.

هل هي مجانية؟ نعم — بدون حساب، بدون حدود.

حوّل الآن

افتح محوّل cURL، الصق أمرك، وانسخ الكود المكافئ. ولنظرة أعمق إلى أدوات المطوّرين في المتصفح، اطّلع على دليل أدوات المطوّرين.


🛠️

Try the Tools — 100% Free, No Sign-Up

Everything runs in your browser. No uploads. No accounts. No ads.

Explore All Tools →