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

x32x01
  • بواسطة x32x01 ||
  • #1
💡 شرح الـ 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).
  • لما تكون بتجلب بيانات كتير من سيرفرات مختلفة.
 
التعديل الأخير:

المواضيع ذات الصلة

A
الردود
1
المشاهدات
241
lbebulk
lbebulk
x32x01
الردود
0
المشاهدات
893
x32x01
x32x01
x32x01
الردود
0
المشاهدات
443
x32x01
x32x01
x32x01
الردود
0
المشاهدات
299
x32x01
x32x01
x32x01
الردود
0
المشاهدات
222
x32x01
x32x01
الوسوم : الوسوم
apis backend development curl curl multi interface http requests https multiple requests php rest api web scraping
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى