تحويل cURL إلى كود

ألصق أمر curl، راجع الطلب الذي يرسله، ثم انسخه كودًا بسبع لغات.

يجري التحليل وتوليد الكود داخل هذا التبويب: لا رفع ولا حفظ ولا إرسال، ولا يصل شيء إلينا.

ألصق أمر curl أعلاه ليظهر ملخّص الطلب والكود.

طريقة الاستخدام

  1. ألصق أمر curl — من DevTools (Copy as cURL) أو وثائق API أو محادثة. يظهر الكود أثناء الكتابة.
  2. اقرأ سطر الملخّص أولًا: الطريقة والرابط وعدد الترويسات وحجم الجسم. إذا صحّ الملخّص صحّ الكود أدناه.
  3. اختر لغة الهدف؛ يتغير الكود واسم ملف التنزيل دون المساس بالأمر.
  4. تشير التنبيهات إلى ما لا يمثله الكود — الوكلاء وإعادة التوجيه ومتغيرات shell. أما الأخطاء فتوقف التوليد بدل عرض طلب ناقص.
  5. تعيد «إعادة تعيين» تفريغ الحقل والعودة إلى Python؛ وإعادة تحميل الصفحة تفعل الشيء نفسه.

مثال

الأمر

curl -X POST 'https://httpbin.org/anything?from=ar' \
  -H 'Content-Type: application/json' \
  -H 'Accept-Language: ar' \
  -d '{"name": "سارة", "city": "القاهرة"}'

Python

import requests

url = "https://httpbin.org/anything?from=ar"
headers = {
    "Content-Type": "application/json",
    "Accept-Language": "ar",
}
data = "{\"name\": \"سارة\", \"city\": \"القاهرة\"}".encode("utf-8")
response = requests.request("POST", url, headers=headers, data=data)
print(response.status_code)
print(response.text)

يُولَّد الملخّص والكود أعلاه من ذلك الأمر — لا تزور الأداة httpbin فعليًا. النطاق المكافئ: الطريقة والرابط والترويسات وجسم الطلب ومصادقة Basic/Bearer والمهلة.

القواعد والحدود والقيود المعروفة

  • لا رفع ملفات: تُرفض ‎-F‎ و‎-T‎ ومدخلات @file، فلا تحصل على كود يُسقط ملفًا بصمت.
  • لا تنفيذ shell: لا تُوسَّع المتغيرات ولا استبدال الأوامر ولا الأنابيب؛ يبقى $TOKEN كما هو مع تنبيه.
  • رابط واحد لكل أمر: تُتجاهل الروابط الإضافية مع تنبيه، ولا تُحوَّل إلى حلقة.
  • لا تُعاد خيارات النقل: ‎-L‎ و‎-k‎ والوكلاء وشهادات العميل وإصدارات HTTP وإعادة المحاولة والضغط تنتج تنبيهًا فقط؛ يستخدم الكود المولَّد إعدادات عميله الافتراضية.
  • لا تُضاف قيم curl الضمنية: لن تُضاف User-Agent: curl/… وAccept: */*؛ ثبّتها بـ ‎-A‎ / ‎-H‎.
  • اقتباس POSIX فقط: علامات مفردة ومزدوجة و$'...' واستمرار السطر بالشرطة المائلة؛ لا يُحلَّل هروب Windows CMD.
  • تبقى الترويسات المكررة في Go وPHP وJava وC# وRuby؛ أما قواميس Python وJavaScript فتدمجها بـ ", ".
  • يُولَّد طلب GET/HEAD بجسم كما هو مع تنبيه — سيرفضه fetch.
  • لا سجل ولا حفظ: إعادة التحميل تمحو كل شيء؛ زر المشاركة يشارك رابط الصفحة فقط دون الأمر.
  • الأداة للتحويل فقط ولا ترسل الطلب؛ لرؤية الاستجابة استخدم عميل API.

مفيدة بعد تحويل الأمر.