كيف تصنع طلب GET باستخدام curl_init؟

يمكن استخدام دالة curl_init() في PHP لبدء الاتصال بخادم الويب واسترجاع البيانات عبر طريقة GET. من خلال تحديد عنوان URL المرغوب، يمكن للمطورين تسهيل مهام مثل استحواذ البيانات والتفاعل مع واجهات برمجة التطبيقات!

Amir Hassan

Amir Hassan

12 أغسطس 2025

كيف تصنع طلب GET باستخدام curl_init؟

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

cURL، وهو اختصار لـ "عميل لـ URLs"، هو قوة برمجية تمكن المطورين من استخدام مجموعة متنوعة من الأدوات لنقل البيانات. يوفر وظيفتين: أداة سطر أوامر سهلة الاستخدام ومكتبة قوية يمكن دمجها في البرامج.

💡
Apidog هي منصة متطورة لتطوير واجهات برمجة التطبيقات تزود المطورين بكم هائل من الوظائف طيلة دورة حياة واجهة برمجة التطبيقات.

إذا كنت بحاجة إلى تحرير أو اختبار أوامر PHP cURL الخاصة بك، تحقق من موقع Apidog من خلال النقر على الزر أدناه.
زر

التعريف الرسمي لـ curl_init()

استنادًا إلى الموقع الرسمي لـ PHP، فإن وظيفة curl_init تقوم ببدء جلسة cURL وتعيد مقبض cURL لاستخدامه مع وظائف curl_setopt() و curl_exec() و curl_close().

المعلمات المعنية

url

إذا قدمت عنوان URL، سيتم تعيين خيار CURLOPT_URL إلى قيمته. يمكنك أيضًا تعيين هذا الخيار يدويًا باستخدام وظيفة curl_setopt().

ومع ذلك، لاحظ أن بروتوكول file معطل بواسطة cURL نفسها إذا تم تعيين open_basedir.

قيم الإرجاع

تعيد دالة curl_init() مقبض cURL عند النجاح، و false عند حدوث أخطاء.

ما هو طلب GET؟

في سياق بروتوكول نقل النصوص التشعبية (HTTP)، يعدّ طلب GET طريقة محددة تُستخدم لاسترجاع البيانات من مورد معين على الخادم. يتم تصنيفه كطريقة آمنة، مما يعني أنه لا يغير حالة المورد نفسه. إليك تحليل للتعريف الرسمي:

الوظيفة

طلبات GET هي تمثيل للمورد المحدد.

النتيجة المتوقعة

يجب أن تعيد طلبات GET الناجحة ردًا يحتوي على البيانات المطلوبة، عادةً في شكل HTML أو نص أو تنسيقات بيانات أخرى.

تعديل البيانات

تُستخدم طلبات GET لاسترجاع المعلومات الموجودة ويجب ألا تُستخدم لتعديل البيانات على الخادم.

التخزين المؤقت

يمكن تخزين ردود طلبات GET مؤقتًا بواسطة العميل (متصفح الويب) والخوادم الوسيطة، مما يمكن أن يحسن الأداء للطلبات اللاحقة لنفس المورد.

نقاط رئيسية في طلب GET

أمثلة الكود لطلبات curl_init() GET

للحصول على بداية لفهم كيفية إجراء طلبات GET باستخدام وظيفة curl_init() المعنية، تابع القراءة في هذا القسم!

طلب GET الأساسي

<?php

$url = "https://www.example.com";

// بدء curl
$ch = curl_init($url);

// تعيين الخيار لإرجاع النقل كسلسلة
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// تنفيذ الطلب
$response = curl_exec($ch);

// التحقق من الأخطاء
if(curl_errno($ch)) {
  echo 'خطأ:' . curl_error($ch);
} else {
  // معالجة الرد (مثلاً، طباعة، فك تشفير JSON)
  echo $response;
}

// إغلاق جلسة curl
curl_close($ch);

?>

طلب GET مع خيار إضافي

<?php

$url = "https://www.example.com";

// بدء curl
$ch = curl_init($url);

// تعيين وكيل المستخدم
curl_setopt($ch, CURLOPT_USERAGENT, "نص PHP الخاص بي");

// تعيين الخيار لتتبع إعادة التوجيه
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

// تعيين الخيار لإرجاع النقل كسلسلة
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// تنفيذ الطلب
$response = curl_exec($ch);

// التحقق من الأخطاء
if(curl_errno($ch)) {
  echo 'خطأ:' . curl_error($ch);
} else {
  // معالجة الرد
  echo $response;
}

// إغلاق جلسة curl
curl_close($ch);

?>

مثال على طلب GET معقد

هذا هو طلب GET معقد قليلاً يتضمن واجهة برمجة التطبيقات التي تسمح بتصفية المنتجات بناءً على نطاق سعر الفئة، وخيارات الفرز.

<?php

$url = "https://api.example.com/products";

// تعريف معلمات التصفية
$filters = array(
  "category" => "الإلكترونيات",
  "price_min" => 100,
  "price_max" => 500,
  "sort" => "السعر_الأعلى"
);

// بناء سلسلة الاستعلام مع المعلمات المشفرة
$queryString = http_build_query($filters);
$url .= "?" . $queryString;

// بدء curl
$ch = curl_init($url);

// تعيين الخيار لإرجاع النقل كسلسلة
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// تعيين رؤوس للإشارة إلى أن البيانات JSON متوقعة (اختياري)
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json'
));

// تنفيذ الطلب
$response = curl_exec($ch);

// التحقق من الأخطاء
if(curl_errno($ch)) {
  echo 'خطأ:' . curl_error($ch);
} else {
  // فك تشفير الرد JSON (بافتراض أن الرد هو JSON)
  $data = json_decode($response, true);
  
  // معالجة البيانات (مثلاً، الدورة خلال المنتجات)
  if (isset($data['products'])) {
    foreach ($data['products'] as $product) {
      echo "اسم المنتج: " . $product['name'] . ", السعر: $" . $product['price'] . PHP_EOL;
    }
  }
}

// إغلاق جلسة curl
curl_close($ch);

?>

شرح الكود:

  1. نحدد عنوان واجهة برمجة التطبيقات ومعلمات التصفية (الفئة، نطاق السعر، والترتيب).
  2. نستخدم http_build_query لإنشاء سلسلة استعلام مع قيم المعلمات المشفرة ونضيفها إلى عنوان URL.
  3. تحدد curl_setopt الخيارات للطلب، بما في ذلك التقاط الرد وإمكانية تعيين الرؤوس إذا كانت واجهة برمجة التطبيقات تتوقع تنسيق بيانات محدد (مثل JSON).
  4. بعد التحقق من الأخطاء، يتم فك تشفير الرد كـ JSON (بافتراض أن واجهة برمجة التطبيقات تعيد بيانات JSON).
  5. نقوم بالتكرار عبر البيانات المفككة (مصفوفة المنتجات) وعرض تفاصيل المنتج.

ملاحظة يجب قراءتها

يرجى ملاحظة أن هذه هي أمثلة كود مبسطة لتوضيح كيفية إجراء طلبات GET باستخدام وظيفة curl_init()، لذا تأكد من إجراء التعديلات المطلوبة في بيئة التطوير الخاصة بك!

للحصول على الوثائق الرسمية، يمكنك الاطلاع عليها في: https://www.php.net/manual/en/book.curl.php

Apidog - العمل مع ملفات cURL بسهولة

Apidog هي منصة متطورة لتطوير واجهات برمجة التطبيقات تزود المستخدمين بجميع الأدوات اللازمة لطول دورة حياة واجهة برمجة التطبيقات. مع الوظائف من أدوات شهيرة مثل Postman و Insomnia، لم تعد بحاجة إلى تحميل أي تطبيقات أخرى!

مواصفات apidog
زر

استيراد أوامر cURL بسرعة إلى Apidog

استيراد cURL إلى apidog

يدعم Apidog المستخدمين الذين يرغبون في استيراد أوامر cURL إلى Apidog. في مشروع فارغ، انقر على زر + الأرجواني الموجود في الجزء العلوي الأيسر من نافذة Apidog، واختر استيراد cURL.

عينة كود cURL من Stripe

انسخ والصق أمر cURL في المربع المعروض على شاشتك.

نجاح استيراد كود cURL

إذا كان ذلك ناجحًا، فيجب أن تكون قادرًا الآن على عرض أمر cURL على شكل طلب واجهة برمجة التطبيقات.

زر

توليد كود PHP باستخدام Apidog

إذا كنت بحاجة إلى مساعدة في ترميز PHP، فإن Apidog لديه ميزة توليد الكود التي يمكن أن تساعدك في ذلك.

توليد كود العميل من apidog

أولاً، ابحث عن زر </> توليد الكود في أي واجهة برمجة التطبيقات أو طلب، واختر توليد كود العميل من القائمة المنسدلة.

توليد كود PHP من apidog

ثم اختر PHP، وابحث عن قسم cURL. يجب أن ترى الآن الكود الناتج لـ cURL. كل ما عليك فعله هو نسخه ولصقه في بيئة التطوير المتكاملة الخاصة بك ومتابعة تطوير تطبيقك.

الخاتمة

تعمل وظيفة curl_init() في PHP على تمكينك من استرجاع البيانات من خوادم الويب باستخدام طلبات GET. هذه الوحدة الأساسية تسمح لك بالتفاعل مع واجهات برمجة التطبيقات، وتنزيل الملفات، وجمع محتوى الويب. من خلال إتقان curl_init()، يمكنك أتمتة المهام، وجمع المعلومات برمجيًا، وتوسيع وظائف تطبيقاتك PHP.

تذكر استكشاف الخيارات الواسعة التي توفرها cURL لضبط طلباتك، ومعالجة الأخطاء بشكل لطيف، وضمان التواصل الآمن. مع مرونتها وقوتها، تفتح curl_init() عالمًا من الاحتمالات لمشاريع تطوير الويب الخاصة بك.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات