التخطي إلى المحتوى
Toova
جميع الأدوات

curl → fetch / axios / Python / Go

خصوصية بالتصميم — يعمل بالكامل في متصفحك

الصق أمر curl يحتوي على -H و-d و-u وعَلَم الطريقة، فيُولّد Toova ما يكافئه من JavaScript fetch أو axios أو Python requests أو Go net/http. مفيد عند نقل استدعاء API بين اللغات.

ما يقرأه المحوّل

يُجزّئ Toova الأمر تمامًا كصدفة POSIX، فتنجو علامات الاقتباس المفردة والمزدوجة وخطوط متابعة السطر والترويسات المتكررة من الرحلة. يستخرج -X للفعل، و-H المتكررة للترويسات، و-d / --data-raw / --data-urlencode للجسم، و-u للمصادقة الأساسية التي تتحول إلى ترويسة Authorization مُرمّزة Base64. أما الرايات المحايدة مثل -L و-k و-s و--compressed فيتم تجاهلها بصمت.

كيف يُشكِّل كل هدف الناتج

يُبقي JavaScript fetch عنوان الـ URL داخل السطر، ويُخرج كائن خيارات يضم method وheaders وbody. أما axios فيستخدم كائن الإعداد ليجمع الترويسات والاستعلام والجسم في مكان واحد — وإذا كان --data JSON صحيحًا، يُرفع إلى حقل data المُكتب. تُبقي Python requests الـ URL داخل السطر أيضًا، وتختار json= لحمولات JSON وdata= لما عداها. وفي Go net/http نُنشئ http.NewRequest ونضبط كل ترويسة ونقرأ الجسم عبر io.ReadAll لإبقاء الكود قريبًا من النمط الاصطلاحي.

لماذا لا تخرج البيانات من متصفحك

كثيرًا ما تتضمن أوامر curl الإنتاجية رموز bearer ومفاتيح API وملفات تعريف ارتباط جلسة — وهي بالضبط ما لا ترغب بلصقه في نموذج عام. المحوّل قطعة صغيرة من JavaScript تعمل ضمن هذا التبويب. افتح DevTools أثناء التجربة؛ لن ترى أي طلب يغادر عند اللصق أو عند تبديل اللغة. هذا هو العهد.

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

ما رايات curl المدعومة؟
-X / --request و-H / --header و-d / --data / --data-raw و--data-urlencode و-u / --user، وكذلك الرايات المحايدة (-L و-k و--compressed و-s/-v و--silent).
هل يعالج أجسام JSON؟
نعم. عندما تكون --data JSON صحيحًا، تستخدم مخارج axios وPython شكل الكائن لكي تبقى الحمولة بمكتوبيتها. أما الصيغ الأخرى فتبقى نصًا خامًا.
ماذا عن عمليات الرفع multipart؟
تُعامَل علامة -F المنفردة كجسم بدون ترويسة وتُحوَّل كما هي. الدعم الكامل لـ multipart مدرج في خارطة الطريق، ولحين ذلك انتقل يدويًا إلى FormData في fetch أو axios.
هل تُسجَّل الرموز أو مفاتيح API؟
لا. يحدث التحويل داخل هذا التبويب فقط، ولا ترى Toova أمر curl ولا يُجمع أي قياس عن محتوى حقل الإدخال.
لماذا يتحوّل GET إلى POST؟
هكذا يعمل curl. عند وجود --data يُرفع الطلب تلقائيًا إلى POST ما لم تفرض -X GET صراحةً، فيقوم المحوّل بالشيء ذاته للحفاظ على المعنى.
هل يمكنني حفظ الناتج؟
استخدم زر «نسخ». لا نحفظ أي شيء بين عمليات إعادة تحميل الصفحة؛ أبقِ التبويب مفتوحًا أثناء العمل.