كيفية إرسال رؤوس طلب GET باستخدام PHP: دليل خطوة بخطوة

تعلم كيفية إرسال رؤوس طلب GET باستخدام PHP في هذا الدليل الشامل. اكتشف كيفية استخدام cURL، ومعالجة استجابات API، ودمج apidog للاختبار. مثالي للمطورين الذين يتطلعون لتعزيز مهاراتهم في التفاعل مع APIs.

Amir Hassan

Amir Hassan

12 أغسطس 2025

كيفية إرسال رؤوس طلب GET باستخدام PHP: دليل خطوة بخطوة

Apidog للمؤسسات

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

SSO و RBAC

متوافق مع SOC 2

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

مرحبًا بكم في دليلنا الشامل حول كيفية إرسال رؤوس طلب GET مع PHP. سواء كنت من عشاق API أو مطورًا يتطلع إلى دمج وظائف API في مشاريع PHP الخاصة بك، فإن فهم كيفية العمل مع رؤوس طلب GET أمر بالغ الأهمية. في هذه التدوينة، سنرشدك خلال العملية، مكسّرين إياها إلى خطوات بسيطة وقابلة للتنفيذ. لذا، دعنا نبدأ!

💡
افتح الإمكانيات الكاملة لاختبار وتصحيح API الخاص بك مع Apidog. أرسل الطلبات بسهولة، وإدارة الرؤوس، وفحص الاستجابات في مكان واحد. قم بتنزيل Apidog مجانًا اليوم وحقق انسيابية في تفاعلات API الخاصة بك كما لم يحدث من قبل!
زر

مقدمة حول APIs و PHP

قبل أن نتعمق في تفاصيل إرسال رؤوس طلب GET مع PHP، دعنا نأخذ لحظة لفهم الأساسيات.

ما هو API؟

API، أو واجهة برمجة التطبيقات، تسمح لتطبيقات البرمجيات المختلفة بالتواصل مع بعضها البعض. APIs موجودة في كل مكان، مما يمكّن من وظائف متنوعة مثل جلب بيانات الطقس، ومعالجة المدفوعات، ودمج ميزات وسائل التواصل الاجتماعي في المواقع والتطبيقات. إنها تعمل كجسر بين أنظمة مختلفة، مما يمكّنها من العمل معًا بسلاسة.

لماذا تستخدم PHP لطلبات API؟

PHP، وهي لغة برمجة نصية على جانب الخادم، تُستخدم على نطاق واسع في تطوير الويب. تجعل بساطتها وقدراتها القوية منها خيارًا ممتازًا للتفاعل مع APIs. سواء كنت تجلب بيانات من خدمة طرف ثالث أو ترسل معلومات إلى خادم آخر، توفر PHP الأدوات التي تحتاجها لإنجاز المهمة.

الموقع الرسمي لـ PHP

فهم رؤوس طلب GET

ما هي رؤوس طلب GET؟

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

لماذا الرؤوس مهمة؟

تلعب الرؤوس دورًا حيويًا في ضمان معالجة طلبك بشكل صحيح. يمكن أن تتضمن معلومات عن العميل (أنت)، وتحدد نوع البيانات التي تتوقعها، وحتى تحمل رموز المصادقة للتحقق من هويتك. بدون الرؤوس الصحيحة، قد يفشل طلبك، أو قد لا تتلقى الاستجابة المرجوة.

البدء مع PHP و طلبات GET

إعداد بيئة PHP الخاصة بك

قبل أن نتمكن من إرسال رؤوس طلب GET مع PHP، نحتاج إلى التأكد من أن بيئتنا معدة بشكل صحيح. إذا لم تكن قد فعلت ذلك بالفعل، تأكد من أنك قمت بتثبيت PHP على خادمك أو جهازك المحلي. يمكنك تنزيل PHP من الموقع الرسمي لـ PHP.

طلب GET بسيط باستخدام PHP

لإجراء طلب GET بسيط في PHP، يمكنك استخدام دالة file_get_contents أو مكتبة cURL. بينما تعتبر file_get_contents أبسط، توفر cURL المزيد من المرونة والتحكم، خاصة عند العمل مع الرؤوس.

إليك مثال بسيط باستخدام file_get_contents:

<?php
$url = "https://api.example.com/data";
$response = file_get_contents($url);
echo $response;
?>

يقوم هذا الكود بجلب البيانات من عنوان URL المحدد ويطبعها على الشاشة. ومع ذلك، لا يسمح لك هذه الطريقة بإرسال رؤوس، وهنا تأتي فائدة cURL.

إرسال رؤوس طلب GET مع cURL

مقدمة حول cURL

cURL هي أداة قوية لإجراء طلبات HTTP في PHP. تتيح لك تحديد الرؤوس، والتعامل مع ملفات تعريف الارتباط، وإدارة الجلسات، والمزيد. دعنا نستكشف كيفية استخدام cURL لإرسال رؤوس طلب GET.

تثبيت وتفعيل cURL

قبل أن تتمكن من استخدام cURL، تحتاج إلى التأكد من أنه مثبت ومفعل في بيئة PHP الخاصة بك. تأتي معظم تثبيتات PHP مع cURL مفعلًا بشكل افتراضي، ولكن يمكنك التحقق من ذلك من خلال فحص ملف php.ini الخاص بك.

إجراء طلب GET بسيط باستخدام cURL

دعنا نبدأ بطلب GET بسيط باستخدام cURL:

<?php
$url = "https://api.example.com/data";
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

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

إضافة رؤوس إلى طلب GET الخاص بك

الآن، دعنا نضيف بعض الرؤوس إلى طلب GET الخاص بنا. لنفترض أن الواجهة البرمجية تحتاج إلى رأس Authorization ورأس Accept.

إليك كيف يمكنك القيام بذلك:

<?php
$url = "https://api.example.com/data";
$headers = [
    "Authorization: Bearer YOUR_ACCESS_TOKEN",
    "Accept: application/json"
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

في هذا المثال، نقوم بإنشاء مصفوفة من الرؤوس ونمررها إلى خيار CURLOPT_HTTPHEADER. وهذا يسمح لنا بتضمين الرؤوس اللازمة في طلب GET الخاص بنا.

معالجة استجابات API

تحليل استجابات JSON

ترجع معظم واجهات برمجة التطبيقات البيانات بصيغة JSON. للتعامل مع هذه البيانات في PHP، يمكنك استخدام دالة json_decode.

إليك مثال:

<?php
$response = '{
    "data": {
        "id": 1,
        "name": "جون دو"
    }
}';

$data = json_decode($response, true);

echo "ID: " . $data['data']['id'] . "\n";
echo "Name: " . $data['data']['name'] . "\n";
?>

يقوم هذا السكربت بفك تشفير الاستجابة بصيغة JSON إلى مصفوفة PHP ويطبع قيم حقول id و name.

معالجة الأخطاء

عند إجراء طلبات API، من الضروري التعامل مع الأخطاء المحتملة بلباقة. توفر cURL العديد من الخيارات لمعالجة الأخطاء.

إليك مثال حول كيفية معالجة الأخطاء في طلب cURL الخاص بك:

<?php
$url = "https://api.example.com/data";
$headers = [
    "Authorization: Bearer YOUR_ACCESS_TOKEN",
    "Accept: application/json"
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);

if(curl_errno($ch)) {
    echo 'خطأ:' . curl_error($ch);
} else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode == 200) {
        echo $response;
    } else {
        echo "خطأ HTTP: " . $httpCode;
    }
}

curl_close($ch);
?>

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

ميزات cURL المتقدمة

تعيين مهلات

لتجنب تعليق سكربتك إلى أجل غير مسمى، يمكنك تعيين مهلات لطلبات cURL الخاصة بك.

<?php
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
?>

تحدد هذه الخيارات الحد الأقصى لوقت التنفيذ ووقت اتصال.

التعامل مع إعادة التوجيه

إذا قامت نقطة نهاية API بإعادة التوجيه إلى عنوان URL آخر، يمكنك إخبار cURL بمتابعة إعادة التوجيه:

<?php
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
?>

تضمن هذه الخيار أن يتبع cURL أي رؤوس Location تم إرجاعها من الخادم.

إدارة ملفات تعريف الارتباط

إذا كانت واجهة برمجة التطبيقات الخاصة بك تتطلب ملفات تعريف الارتباط للمصادقة أو إدارة الجلسات، يمكنك التعامل معها باستخدام cURL:

<?php
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
?>

تحدد هذه الخيارات الملف لقراءة وكتابة ملفات تعريف الارتباط، على التوالي.

استخدام Apidog لاختبار API

ما هو Apidog؟

Apidog هي أداة قوية لاختبار وتصحيح APIs. تتيح لك إرسال الطلبات، وفحص الاستجابات، وإدارة الرؤوس والمعلمات بسهولة. مع Apidog، يمكنك محاكاة سيناريوهات مختلفة والتأكد من أن تفاعلات API الخاصة بك تعمل كما هو متوقع.

زر

كيفية استخدام Apidog لإرسال رؤوس طلب HTTP GET

لإرسال طلب GET مع رأس باستخدام Apidog، اتبع هذه الخطوات:

  1. افتح Apidog: قم بتشغيل Apidog وأنشئ طلبًا جديدًا.
Apidog

2. اختر طريقة HTTP: اختر "GET" كطريقة الطلب نظرًا لأننا نعمل مع طلبات HTTP GET.

3. أدخل عنوان URL: في حقل عنوان URL، أدخل نقطة النهاية التي تريد إرسال طلب GET إليها.

أدخل عنوان URL للنقطة النهائية للطلب

4. إضافة رؤوس: الآن، حان الوقت لإضافة الرؤوس اللازمة. انقر على تبويب "الرؤوس" في Apidog. هنا، يمكنك تحديد أي رؤوس مطلوبة من قبل API. قد تتضمن الرؤوس الشائعة لطلبات GET Authorization، Accept، و User-Agent.

على سبيل المثال:

إضافة رؤوس

5. إرسال الطلب وفحص الاستجابة: مع وجود عنوان URL، ومعلمات الاستعلام، والرؤوس في مكانها، يمكنك الآن إرسال طلب GET. انقر على زر "إرسال" وسيتولى Apidog تنفيذ الطلب. سترى الاستجابة معروضة في قسم الاستجابة.

إرسال الطلب وفحص الاستجابة

بمجرد إرسال الطلب، سيعرض Apidog الاستجابة من الخادم. يمكنك عرض رمز الحالة، والرؤوس، وجسم الاستجابة. هذه معلومات لا تقدر بثمن في تصحيح الأخطاء والتحقق من أن استدعاءات API الخاصة بك تعمل كما هو متوقع.

أمثلة من العالم الواقعي

مثال 1: جلب بيانات الطقس

دعنا ننشئ سكربت PHP لجلب بيانات الطقس من API عام. سنستخدم واجهة برمجة تطبيقات OpenWeatherMap لهذا المثال.

<?php
$apiKey = "YOUR_API_KEY";
$city = "لندن";
$url = "http://api.openweathermap.org/data/2.5/weather?q=$city&appid=$apiKey";
$headers = [
    "Accept: application/json"
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);

if(curl_errno($ch)) {
    echo 'خطأ:' . curl_error($ch);
} else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode == 200) {
        $data = json_decode($response, true);
        echo "الطقس في " . $city . ": " . $data['weather'][0]['description'];
    } else {
        echo "خطأ HTTP: " . $httpCode;
    }
}

curl_close($ch);
?>

مثال 2: إرسال بيانات إلى API

أحيانًا، قد تحتاج إلى إرسال بيانات إلى API. إليك مثال على إرسال طلب GET مع معلمات الاستعلام:

<?php


$url = "https://api.example.com/search";
$params = [
    "query" => "PHP",
    "limit" => 10
];
$queryString = http_build_query($params);
$url .= "?" . $queryString;

$headers = [
    "Authorization: Bearer YOUR_ACCESS_TOKEN",
    "Accept: application/json"
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);

if(curl_errno($ch)) {
    echo 'خطأ:' . curl_error($ch);
} else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode == 200) {
        echo $response;
    } else {
        echo "خطأ HTTP: " . $httpCode;
    }
}

curl_close($ch);
?>

الخاتمة

إرسال رؤوس طلب GET مع PHP هي مهارة قوية تعزز قدرتك على التفاعل بفعالية مع APIs. سواء كنت تجلب بيانات من خدمة خارجية أو ترسل معلومات إلى نظام آخر، فإن فهم كيفية استخدام cURL والتعامل مع الرؤوس أمر أساسي.

في هذا الدليل، قمنا بتغطية أساسيات APIs، وقدمنا مقدمة حول cURL، وقدمنا أمثلة عملية لتساعدك على بدء العمل. استكشفنا أيضًا ميزات cURL المتقدمة وكيفية استخدام Apidog للاختبار وتصحيح الأخطاء.

من خلال إتقان هذه التقنيات، ستكون مجهزًا بشكل جيد لدمج وظائف API في مشاريع PHP الخاصة بك وإنشاء تطبيقات ديناميكية وقوية.

زر

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

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

كيفية إرسال رؤوس طلب GET باستخدام PHP: دليل خطوة بخطوة