محلل cURL

حلّل أوامر cURL إلى مكوّنات منظمة. استخرج URL والطريقة والعناوين والبيانات والمصادقة، وأنشئ مكافئات JavaScript لـ fetch() و axios.

تحليل المكوّنات توليد fetch() توليد axios

كيفية استخدام محلل cURL

1

الصق أمر cURL

انسخ أمر cURL من أدوات المطور في المتصفح (انقر بزر الماوس الأيمن على طلب واختر "نسخ كـ cURL") والصقه في منطقة الإدخال.

2

تحليل المكوّنات

يتم تفكيك الأمر إلى URL والطريقة والعناوين والبيانات والمصادقة وملفات تعريف الارتباط تلقائياً.

3

احصل على الكود

انسخ كود fetch() أو axios المُنشأ لاستخدامه في مشاريع JavaScript الخاصة بك.

ما هو cURL؟

cURL (Client URL) هو أداة سطر أوامر ومكتبة لنقل البيانات باستخدام بروتوكولات متنوعة. يُستخدم على نطاق واسع لاختبار واجهات API وتصحيح طلبات HTTP وأتمتة نقل البيانات. يمكن لأدوات المطور في المتصفح تصدير طلبات الشبكة كأوامر cURL، مما يسهل مشاركة وإعادة إنتاج طلبات HTTP.

أداة سطر الأوامر

cURL هي أداة سطر أوامر لنقل البيانات باستخدام بروتوكولات متعددة بما في ذلك HTTP و HTTPS و FTP.

تصدير أدوات المطور

تتيح لك معظم أدوات المطور في المتصفح النقر بزر الماوس الأيمن على طلب شبكة و"نسخ كـ cURL".

تحويل الكود

تحويل أوامر cURL إلى كود JavaScript fetch() أو axios لسهولة التكامل.

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

هل يمكنه إنشاء كود fetch() من cURL؟

نعم. تحول الأداة أوامر cURL إلى مقتطفات كود JavaScript لـ fetch() و axios. يحافظ الكود المُنشأ على URL والطريقة والعناوين والبيانات من أمر cURL الأصلي.

هل يتعامل مع بيانات POST ورفع الملفات؟

نعم. يقوم بتحليل أعلام -d/--data و --data-raw و --data-binary بما في ذلك حمولات JSON. يتم تنسيق بيانات جسم JSON تلقافياً بمسافات بادئة صحيحة في الكود المُنشأ.

ما هي أعلام cURL المدعومة؟

الأعلام الشائعة بما في ذلك -X (الطريقة) و -H (العناوين) و -d (البيانات) و -b (ملفات تعريف الارتباط) و -u (المصادقة) و -k (غير آمن) و -L (اتباع إعادة التوجيه) و --compressed والمزيد. قد لا يتم تحليل الأعلام المعقدة أو غير المألوفة بالكامل.

كيف أحوّل أمر cURL إلى كود PHP؟

تُطابق الأداة الرايات مع واجهة curl في PHP: يوضع URL في CURLOPT_URL، وكل راية -H في CURLOPT_HTTPHEADER، و-d في CURLOPT_POSTFIELDS، و-u في CURLOPT_USERPWD. الصق الأمر وانسخ المقتطف المُولَّد، وسيتم توليد الكود الأساسي (RETURNTRANSFER ومعالجة الأخطاء) تلقائيًا لك.

ماذا تفعل راية -H وكيف تُعالَج الترويسات المتكررة؟

تضيف ‎-H 'Content-Type: application/json'‎ ترويسة واحدة؛ كرّر -H لكل ترويسة إضافية وسيتم إرسالها جميعًا. يمكن لـ -H أيضًا إزالة ترويسة عبر ذكرها دون قيمة (-H 'User-Agent:')، أو إرسال قيمة فارغة بوضع فاصلة منقوطة في النهاية. الرايات المتعددة -H تحافظ على الترتيب، وهو أمر مهم لبعض واجهات API.

كيف تُمرَّر المصادقة في cURL؟

مصادقة HTTP Basic تتم عبر -u user:password (يشفّرها curl بترميز base64 في ترويسة Authorization). تُرسل رموز Bearer كترويسة: -H 'Authorization: Bearer <token>'. أما مفاتيح API فتظهر إما كترويسات أو كمعاملات استعلام حسب الخدمة. تحذير: الأسرار في سطر الأوامر تنتهي إلى سجل أوامر shell — يُفضَّل استخدام ملف netrc أو متغير بيئة.

ما الفرق بين -d و--data-binary و-F؟

ترسل -d البيانات بصيغة application/x-www-form-urlencoded وتحذف الأسطر الجديدة؛ بينما ترسل --data-binary الحمولة كما هي حرفيًا، وهو ما تحتاجه واجهات JSON API؛ وتبني -F طلبًا بنوع multipart/form-data، وهو الخيار الوحيد لرفع الملفات. أما معاملات بأسلوب GET فتستخدم -G مع -d، مما ينقل البيانات إلى سلسلة استعلام URL.

لماذا يفشل الكود المحوَّل بينما أمر cURL يعمل بنجاح؟

غالبًا يكون السبب هو الاقتباس: تُزيل الصدفة (shell) علامات الاقتباس قبل أن يراها curl، لكن اللغة الهدف تعيد تفسيرها — علامات الاقتباس المفردة الآمنة في الصدفة تحتاج معالجة مختلفة في JavaScript. من الفخاخ الأخرى: الشرطات المائلة الخلفية في نهاية الأسطر الناتجة عن الأوامر متعددة الأسطر، وعلامات النسبة المئوية في URLs التي تكسر تنسيق %-formatting في بعض اللغات، وملفات الكوكيز المُشار إليها عبر -b/-c وغير الموجودة في البيئة الجديدة.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}