تحويل curl إلى PHP

يقوم curl2code بتحويل أوامر curl إلى كود PHP باستخدام امتداد cURL أو مكتبة Guzzle. تتم عملية التحويل في متصفحك عبر WebAssembly لخصوصية تامة. للغات مشابهة من جهة الخادم، راجع محول curl إلى Python أو curl إلى Ruby. أدناه أمثلة PHP عملية.

كيفية نسخ curl من متصفحك

  1. 1

    افتح أدوات المطور (DevTools)

    اضغط على F12 أو Ctrl+Shift+I لفتح أدوات مطور المتصفح.

  2. 2

    انتقل إلى علامة تبويب الشبكة (Network)

    انقر فوق علامة التبويب Network وقم بالإجراء الذي يؤدي إلى إرسال طلب HTTP.

  3. 3

    نسخ كـ cURL

    انقر بزر الماوس الأيمن على الطلب ← CopyCopy as cURL. ثم قم بلصقه أعلاه.

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

ما هي إضافة PHP cURL؟

إضافة curl في PHP هي غلاف حول مكتبة libcurl بلغة C، وتوفر قدرات قوية لعميل HTTP. تدعم تقريباً جميع البروتوكولات والميزات التي يدعمها curl نفسه. ابدأ بـ curl_init()، واضبط الخيارات بـ curl_setopt()، ونفذ بـ curl_exec(). يدعم curl2code أيضاً Guzzle و Requests كبدائل.

مقارنة بين PHP cURL و Guzzle و Requests — أيهما يجب أن أستخدم؟

إضافة PHP cURL منخفضة المستوى ومدمجة — لا حاجة لـ Composer. Guzzle هو أشهر عميل HTTP في PHP مع دعم PSR-7، والبرمجيات الوسيطة (middleware)، والطلبات غير المتزامنة. Requests توفر واجهة بسيطة للمهام السريعة. استخدم Guzzle للمشاريع الحديثة، و PHP cURL للإعدادات البسيطة. لخيارات مماثلة في لغات أخرى، راجع محول curl إلى Python.

كيفية التعامل مع المصادقة في PHP؟

مع cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). لمصادقة Basic: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). تستخدم Guzzle 'auth' => ['user', 'pass'] أو 'headers' => ['Authorization' => 'Bearer token']. يتعامل curl2code مع أعلام -u و Bearer تلقائياً.

كيفية إرسال بيانات نموذج متعدد الأجزاء في PHP؟

مع cURL: مرر مصفوفة إلى CURLOPT_POSTFIELDS تحتوي على new CURLFile('path') للملفات. تستخدم Guzzle خيار 'multipart' مع مصفوفات الحقول/الملفات. يحول curl2code أعلام -F إلى التنسيق الصحيح لكل نوع من مكتبات PHP.

كيفية التعامل مع أخطاء HTTP في PHP؟

مع cURL: تحقق من curl_errno($ch) لأخطاء النقل وقم بتحليل حالة الاستجابة يدوياً. تلقي Guzzle استثناء RequestException عند الفشل — التقط ClientException (4xx)، و ServerException (5xx)، و ConnectException (شبكة). استدعِ دائماً curl_close($ch) لتحرير الموارد.

كيفية إجراء طلبات HTTP غير متزامنة في PHP؟

تدعم Guzzle الوضع غير المتزامن عبر $client->requestAsync('GET', $url) الذي يعيد وعداً (Promise). استخدم Promise\Utils::all() للطلبات المتزامنة. مع cURL، استخدم دوال curl_multi_* للتنفيذ المتوازي. لـ PHP غير متزامن حقاً، فكر في أطر عمل ReactPHP أو Amp مع عملاء HTTP الخاصين بهم.

كيفية ضبط المهلات في PHP؟

مع cURL: استخدم CURLOPT_CONNECTTIMEOUT للاتصال و CURLOPT_TIMEOUT لوقت الطلب الإجمالي. تقبل Guzzle 'connect_timeout' و 'timeout' بالثواني. هذه الخيارات تقابل مباشرة خيارات --connect-timeout و --max-time في curl.

كيفية استخدام بروكسي في PHP؟

مع cURL: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). لـ SOCKS5: أضف CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. تستخدم Guzzle 'proxy' => 'http://proxy:8080'. يحول curl2code أعلام -x و --proxy إلى كود PHP المقابل.

كيف يمكن إرسال طلب POST مع جسم JSON في PHP؟

قم بتحويل أمر curl POST مثل curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL إلى PHP باستخدام curl2code. يستخدم الكود الناتج curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). يقوم curl2code تلقائيًا باكتشاف وسوم -d/--data التي تحتوي على محتوى JSON ويضبط ترويسة Content-Type المناسبة في كود cURL.

كيف يمكن إضافة مصادقة Bearer token في PHP؟

قم بتمرير curl -H "Authorization: Bearer YOUR_TOKEN" URL إلى curl2code وسيقوم بإنشاء كود cURL مع ترويسة المصادقة: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). يكتشف curl2code رموز Bearer من كل من وسوم -H "Authorization: Bearer ..." و --oauth2-bearer. بالنسبة لـ Basic auth، استخدم -u user:pass.

كيف يمكن ضبط ترويسة Content-Type في PHP؟

يقوم curl2code بتحويل curl -H "Content-Type: application/json" URL إلى كود cURL مع الترويسة المناسبة: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). بالنسبة لبيانات -d، يستخدم curl افتراضيًا application/x-www-form-urlencoded؛ أما بالنسبة لرفع النماذج باستخدام -F، فإنه يستخدم multipart/form-data. يقوم curl2code بربط كل منها بـ API الصحيح في cURL.

إضافة PHP cURL مقابل Guzzle — أيهما يجب أن أستخدم؟

إن إضافة PHP cURL (دوال curl_*) مدمجة في PHP ولا تتطلب أي تبعات إضافية — وهي مثالية للطلبات البسيطة أو عندما تريد تقليل العبء الإضافي. أما Guzzle فهو عميل HTTP كامل الميزات مع برمجيات وسيطة (middleware)، وطلبات غير متزامنة (async)، ودعم PSR-7/PSR-18، وإعادة محاولة تلقائية. استخدم cURL للسكربتات الخفيفة، و Guzzle للتطبيقات المعقدة. يقوم curl2code بإنشاء كود لكليهما — اختر المتغير المفضل لديك من قائمة اللغات المنسدلة.

روابط مفيدة

أدلة curl

تحويل curl إلى لغات أخرى