شرح الـ cURL كما لم تعرفه من قبل

x32x01
  • بواسطة x32x01 ||
💡 شرح الـ cURL كما لم تعرفه من قبل - السر وراء الـ Multiple Requests ⚡
في عالم البرمجة، خصوصًا لما تتعامل مع الـ APIs، أكيد سمعت عن أداة قوية اسمها cURL. لكن هل كنت تعرف إنها بتقدر تبعت طلبات متعددة في نفس الوقت (Multiple Requests)؟ 😎
خلينا نفهم كل حاجة بالتفصيل 👇



يعني إيه cURL أصلاً؟ 🧠

الـ cURL هي أداة ومكتبة مفتوحة المصدر بتسمحلك تبعت طلبات HTTP/HTTPS لأي سيرفر خارجي من خلال الكود.
ببساطة، تقدر تجيب بيانات من موقع، أو تبعت بيانات لسيرفر، أو تتعامل مع APIs بكل سهولة.

💻 بتستخدمها في لغات كتير زي:
  • PHP (الأشهر في التعامل مع APIs)
  • Python
  • JavaScript (Node.js)
  • C وC++ وغيرهم

وفي PHP بالذات، تعتبر cURL الحل السهل والاحترافي لإرسال واستقبال البيانات.



ليه نستخدم cURL؟ 🚀

  1. سهلة جدًا وتوفر دوال جاهزة للتعامل مع الطلبات.
  2. تقدر تتحكم في كل تفاصيل الطلب (Headers, Cookies, Timeout...).
  3. بتدعم الاتصال المشفر HTTPS.
  4. والأهم... إنها سريعة جدًا وبتدعم Multiple Requests! ⚡



المشكلة اللي بتحلها Multiple Requests 🧩


لو عندك 10 طلبات API مثلًا، والطريقة العادية (loop + curl_exec) هتخلي كل طلب يستنى اللي قبله يخلص ⏳
يعني الأداء هيكون بطيء جدًا وممكن كمان يحصل timeout.

لكن مع cURL Multi Interface، كل الطلبات بتتبعت في نفس الوقت! 🔥
وده معناه سرعة أعلى، وأداء أفضل، وتجربة مستخدم أنعم بكثير.



مثال عملي مبسط على Multiple Requests​

PHP:
$urls = [
    "https://api.example.com/data1",
    "https://api.example.com/data2",
    "https://api.example.com/data3"
];

$multiCurl = curl_multi_init();
$channels = [];

foreach ($urls as $url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_multi_add_handle($multiCurl, $ch);
    $channels[] = $ch;
}

// تنفيذ كل الطلبات في وقت واحد
$running = null;
do {
    curl_multi_exec($multiCurl, $running);
} while ($running);

// قراءة النتائج
foreach ($channels as $ch) {
    $response = curl_multi_getcontent($ch);
    echo $response;
    curl_multi_remove_handle($multiCurl, $ch);
}

curl_multi_close($multiCurl);



إمتى تستخدم Multiple Requests؟ ⏰

  • لو عندك أكتر من API endpoint محتاج تتعامل معاهم في نفس الوقت.
  • لو التطبيق بتاعك بيعتمد على سرعة الاستجابة (زي Dashboards أو Web Scrapers).
  • لما تكون بتجلب بيانات كتير من سيرفرات مختلفة.
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
780
x32x01
x32x01
x32x01
الردود
0
المشاهدات
363
x32x01
x32x01
x32x01
الردود
0
المشاهدات
551
x32x01
x32x01
x32x01
الردود
0
المشاهدات
743
x32x01
x32x01
x32x01
الردود
0
المشاهدات
609
x32x01
x32x01
x32x01
الردود
0
المشاهدات
620
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
456
x32x01
x32x01
x32x01
الردود
0
المشاهدات
278
x32x01
x32x01
x32x01
الردود
0
المشاهدات
587
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,829
المشاركات
2,027
أعضاء أكتب كود
468
أخر عضو
عبدالله احمد
عودة
أعلى