الدليل الشامل للتعامل مع طلبات واستجابات API في بايثون

اكتشف كيفية معالجة طلبات واستجابات واجهة برمجة التطبيقات (API) في بايثون. تغطي هذه الدليل الشامل إنشاء الطلبات، ومعالجة الاستجابات، والتعامل مع الأخطاء، ونصائح متقدمة.

Amir Hassan

Amir Hassan

12 أغسطس 2025

الدليل الشامل للتعامل مع طلبات واستجابات API في بايثون

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

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

زر

مقدمة عن APIs

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

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

لماذا استخدام APIs؟

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

مصطلحات رئيسية

قبل أن نبدأ، إليك بعض المصطلحات الأساسية التي يجب أن تعرفها:

فهم طلبات بايثون

مكتبة requests في بايثون هي أداة قوية لإجراء طلبات HTTP. إنها بسيطة، لكنها مرنة جدًا، مما يسمح لك بالتفاعل مع APIs بسهولة. لنبدأ بتثبيت مكتبة requests.

pip install requests

الآن بعد أن قمنا بتثبيت المكتبة، دعنا ننتقل إلى إجراء طلب API الأول.

الموقع الرسمي لبايثون

إجراء طلب API الأول الخاص بك

لإجراء طلب API، ستحتاج إلى نقطة نهاية API. في هذا المثال، سنستخدم API JSONPlaceholder، وهو API وهمي مجاني عبر الإنترنت REST API للاختبار والنمذجة.

إليك مثال بسيط حول كيفية إجراء طلب GET:

import requests

url = 'https://jsonplaceholder.typicode.com/posts'
response = requests.get(url)

print(response.status_code)
print(response.json())

في هذا المثال، نقوم بإرسال طلب GET إلى نقطة نهاية /posts. تقوم دالة requests.get بإرسال الطلب، ويتم تخزين الاستجابة في المتغير response. ثم نقوم بطباعة رمز الحالة والاستجابة بتنسيق JSON.

فهم الاستجابة

يحتوي كائن الاستجابة على جميع المعلومات التي أعادها الخادم. إليك بعض الخصائص المفيدة لكائن الاستجابة:

إجراء طلب POST

أحيانًا، ستحتاج إلى إرسال بيانات إلى API. هنا تأتي طلبات POST. إليك مثال:

import requests

url = 'https://jsonplaceholder.typicode.com/posts'
data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}

response = requests.post(url, json=data)

print(response.status_code)
print(response.json())

في هذا المثال، نقوم بإرسال طلب POST إلى نقطة نهاية /posts مع بعض بيانات JSON. تقوم دالة requests.post بإرسال الطلب، ويتم التعامل مع الاستجابة بطريقة مماثلة لطلب GET.

طلب POST

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

الآن بعد أن أجرينا بعض الطلبات، دعنا نتحدث عن التعامل مع الاستجابات. من المهم التحقق من رمز الحالة لضمان نجاح الطلب.

التحقق من رموز الحالة

إليك مثال بسيط حول كيفية التحقق من رمز الحالة:

import requests

url = 'https://jsonplaceholder.typicode.com/posts/1'
response = requests.get(url)

if response.status_code == 200:
    print('نجاح!')
    print(response.json())
else:
    print('خطأ:', response.status_code)

في هذا المثال، نتأكد مما إذا كان رمز الحالة هو 200، مما يشير إلى النجاح. إذا كانت الطلب ناجحًا، نطبع الاستجابة بتنسيق JSON. وإلا، نطبع رسالة خطأ مع رمز الحالة.

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

تقوم معظم APIs بإرجاع البيانات بتنسيق JSON. تسهل طريقة response.json() تحليل بيانات JSON. إليك مثال:

import requests

url = 'https://jsonplaceholder.typicode.com/posts/1'
response = requests.get(url)

if response.status_code == 200:
    data = response.json()
    print('العنوان:', data['title'])
    print('النص:', data['body'])
else:
    print('خطأ:', response.status_code)

في هذا المثال، نقوم بتحليل الاستجابة بتنسيق JSON وطباعة حقول title وbody.

التعامل مع الأخطاء باستخدام requests

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

التعامل مع أخطاء الشبكة

يمكن أن تحدث أخطاء الشبكة عندما يكون الخادم غير متاح أو تكون الاتصال مفقودًا. توفر مكتبة requests دعمًا مدمجًا للتعامل مع هذه الأخطاء باستخدام الاستثناءات.

إليك مثال:

import requests

url = 'https://jsonplaceholder.typicode.com/posts/1'

try:
    response = requests.get(url)
    response.raise_for_status()
except requests.exceptions.HTTPError as errh:
    print("خطأ HTTP:", errh)
except requests.exceptions.ConnectionError as errc:
    print("خطأ في الاتصال:", errc)
except requests.exceptions.Timeout as errt:
    print("خطأ في المهلة:", errt)
except requests.exceptions.RequestException as err:
    print("عذرًا: شيء آخر", err)

في هذا المثال، نستخدم كتلة try-except لالتقاط أنواع مختلفة من الأخطاء. تقوم طريقة raise_for_status() بإثارة خطأ HTTP إذا لم يكن رمز الحالة هو 200.

التعامل مع أخطاء الخادم

تشير أخطاء الخادم (رموز الحالة 500-599) إلى وجود مشكلة على جانب الخادم. إليك مثال حول كيفية التعامل مع أخطاء الخادم:

import requests

url = 'https://jsonplaceholder.typicode.com/invalid-endpoint'

response = requests.get(url)

if response.status_code >= 500:
    print('خطأ في الخادم:', response.status_code)
elif response.status_code == 404:
    print('غير موجود:', response.status_code)
elif response.status_code == 400:
    print('طلب غير صالح:', response.status_code)
else:
    print('خطأ آخر:', response.status_code)

في هذا المثال، نقوم بالتحقق مما إذا كان رمز الحالة في نطاق 500، مما يشير إلى خطأ في الخادم. نحن أيضًا نتعامل مع 404 (غير موجود) و400 (طلب غير صالح) خطأ.

نصائح وحيل متقدمة

الآن بعد أن قمنا بتغطية الأساسيات، دعنا نستكشف بعض النصائح والحيل المتقدمة لجعل حياتك أسهل عند العمل مع APIs في بايثون.

استخدام معلمات الاستعلام

تسمح لك معلمات الاستعلام بتمرير البيانات إلى API كجزء من عنوان URL. إليك مثال:

import requests

url = 'https://jsonplaceholder.typicode.com/posts'
params = {'userId': 1}

response = requests.get(url, params=params)

print(response.status_code)
print(response.json())

في هذا المثال، نقوم بتمرير معلمة userId إلى نقطة النهاية /posts. تأخذ معلمة params في دالة requests.get قاموسًا من معلمات الاستعلام.

استخدام الرؤوس

تستخدم الرؤوس لإرسال معلومات إضافية مع الطلب. إليك مثال:

import requests

url = 'https://jsonplaceholder.typicode.com/posts'
headers = {'Content-Type': 'application/json'}

response = requests.get(url, headers=headers)

print(response.status_code)
print(response.json())

في هذا المثال، نضبط رأس Content-Type إلى application/json. تأخذ معلمة headers في دالة requests.get قاموسًا من الرؤوس.

المصادقة

تتطلب العديد من APIs المصادقة. تدعم مكتبة requests طرق مصادقة مختلفة، بما في ذلك المصادقة الأساسية و OAuth. إليك مثال حول كيفية استخدام المصادقة الأساسية:

import requests
from requests.auth import HTTPBasicAuth

url = 'https://api.example.com/user'
auth = HTTPBasicAuth('username', 'password')

response = requests.get(url, auth=auth)

print(response.status_code)
print(response.json())

في هذا المثال، نستخدم المصادقة الأساسية للتوثيق مع API. تأخذ معلمة auth في دالة requests.get مثيلًا من HTTPBasicAuth.

كيفية اختبار طلب POST في بايثون

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

زر

إليك كيفية استخدام Apidog لاختبار طلب POST الخاص بك:

  1. فتح Apidog وإنشاء طلب جديد.
اختيار طلب جديد

2. ضبط طريقة الطلب على POST.

اختيار طلب POST

3. إدخال عنوان URL للمصدر الذي تريد تحديثه. أضف أي رؤوس أو معلمات إضافية تريد تضمينها ثم انقر على زر "إرسال" لإرسال الطلب.

4. تحقق من أن الاستجابة هي ما كنت تتوقعه.

تحقق من الاستجابة

الخاتمة

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

ولا تنسَ تحميل Apidog مجانًا لتسهيل تطوير واختبار API لديك. برمجة سعيدة!

زر

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

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

الدليل الشامل للتعامل مع طلبات واستجابات API في بايثون