هل تبحث عن إرسال بيانات JSON إلى خادم باستخدام Python Requests؟ إذاً، أنت في المكان المناسب! في هذه التدوينة، سنستعرض كيف نستخدم Python Requests لإرسال بيانات JSON عبر POST. سنغطي كل شيء من أساسيات إرسال طلب POST إلى التعامل مع الاستجابة التي نستلمها من الخادم، وحتى التعامل مع الأخطاء التي قد تحدث على الطريق. لذا، لنبدأ!
Python Requests
Python Requests هي مكتبة Python 3.7+ التي تبسط عملية إرسال طلبات HTTP/1.1. توفر واجهة برمجة تطبيقات بسيطة للتفاعل مع طرق HTTP مثل GET، POST، PUT، PATCH والمزيد.
Python Requests: طريقة HTTP POST
تظهر التعليمات البرمجية التالية كيفية استخدام مكتبة requests لإرسال طلب HTTP POST:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)
print(response.status_code)
print(response.content)
في هذا المثال، نقوم بإرسال طلب HTTP POST إلى https://www.example.com/api مع حمولة JSON تحتوي على اسم المستخدم وكلمة المرور. يتم استخدام طريقة requests.post() لإرسال الطلب، ويتم طباعة رمز حالة الاستجابة والمحتوى على وحدة التحكم.
يمكنك تثبيت مكتبة requests باستخدام الأمر التالي:
python -m pip install requests
في هذه التدوينة، سنركز على كيفية استخدام Python Requests لإرسال طلب POST مع بيانات JSON.
ما هو JSON؟
JSON هو اختصار لـ JavaScript Object Notation. إنه تنسيق موحد لتمثيل البيانات المهيكلة. إنه تنسيق نصوص يستخدم نصوص يمكن قراءتها للبشر لتخزين ونقل كائنات البيانات التي تتكون من أزواج سمات-قيم ومصفوفات (أو قيم قابلة للتسلسل الأخرى). يستخدم JSON عادةً لنقل البيانات في تطبيقات الويب، مثل إرسال البيانات من الخادم إلى العميل، أو العكس.
يمكن لـ JSON تمثيل ستة أنواع من البيانات بشكل أصلي: سلاسل نصية، أرقام، منطقيات، null، مصفوفات، وكائنات. على سبيل المثال، إليك تمثيل JSON لمقالة مدونة:
{
"id": 1001,
"title": "ما هو JSON؟",
"author": {
"id": 1,
"name": "James Walker"
},
"tags": [
"api",
"json",
"programming"
],
"published": false,
"publishedTimestamp": null
}
يوضح هذا المثال جميع أنواع بيانات JSON. كما يوضح إيجاز البيانات المهيكلة بصيغة JSON، وهي إحدى الخصائص التي جعلت استخدامها جذاباً في واجهات برمجة التطبيقات.
بالمعنى الآخر، إنه تنسيق تبادل بيانات خفيف الوزن يسهل على البشر قراءته وكتابته، ومن السهل على الآلات تحليله وتوليده. JSON هو تنسيق نصي مستقل تماماً عن اللغة، مما يجعله خياراً مثالياً لتبادل البيانات بين لغات البرمجة المختلفة.

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

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

إليك مثال على كيفية استخدام مكتبة requests لإرسال طلب HTTP POST:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
response = requests.post(url, data=data)
print(response.status_code)
print(response.content)
في هذا المثال، نقوم بإرسال طلب HTTP POST إلى https://www.example.com/api مع حمولة JSON تحتوي على اسم المستخدم وكلمة المرور. يتم استخدام طريقة requests.post() لإرسال الطلب، ويتم طباعة رمز حالة الاستجابة والمحتوى على وحدة التحكم.
كيف تستخدم Python Requests لإرسال بيانات JSON عبر POST؟
الآن بعد أن أصبح لدينا فهم أساسي لماهية Python Requests وJSON، دعونا نغوص في كيفية استخدام Python Requests لإرسال بيانات JSON عبر POST. إليك مثال على كيفية القيام بذلك:
import requests
import json
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
response = requests.post(url, data=json.dumps(data), headers=headers)
print(response.status_code)
print(response.content)
في هذا المثال، نقوم بإرسال طلب HTTP POST إلى https://www.example.com/api مع حمولة JSON تحتوي على اسم المستخدم وكلمة المرور. يتم استخدام طريقة requests.post() لإرسال الطلب، ويتم طباعة رمز حالة الاستجابة والمحتوى على وحدة التحكم. لاحظ أننا نستخدم json.dumps() لتحويل القاموس data إلى سلسلة JSON قبل إرسالها في جسم الطلب.
يمكنك تثبيت مكتبة requests باستخدام الأمر التالي:
python -m pip install requests
التعامل مع الاستجابة
بعد إرسال الطلب POST، سنتلقى استجابة من الخادم. يمكننا التعامل مع الاستجابة باستخدام كائن response الذي أنشأناه سابقاً. إليك مثال على كيفية التعامل مع الاستجابة:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
print('نجاح!')
else:
print('حدث خطأ.')
في هذا المثال، نحن نتحقق من رمز حالة الاستجابة لمعرفة ما إذا كان الطلب ناجحًا. إذا كان رمز الحالة 200، سنطبع "نجاح!". خلاف ذلك، سنطبع "حدث خطأ.".
التعامل مع الأخطاء
أحيانًا، لا تسير الأمور كما هو مخطط. في حالة حدوث خطأ أثناء إرسال طلب POST، سنريد التعامل معه بشكل سليم. إليك مثال على كيفية التعامل مع الأخطاء:
import requests
url = 'https://www.example.com/api'
data = {'username': 'my_username', 'password': 'my_password'}
headers = {'Content-type': 'application/json'}
try:
response = requests.post(url, json=data, headers=headers)
response.raise_for_status()
except requests.exceptions.HTTPError as err:
print(err)
في هذا المثال، نحن نستخدم كتلة try/except لالتقاط أي أخطاء قد تحدث أثناء إرسال طلب POST. إذا حدث خطأ، سنطبع رسالة الخطأ.
كيفية إرسال طلبات Python POST مع بيانات JSON في Apidog؟
Apidog هو حل اختبار قوي يوفر للمطورين تجربة اختبار واجهات أكثر قوة. توفر ميزاته المتقدمة مثل إنشاء حالات اختبار مخصصة، وتوليد التقارير، واختبار التحميل للمطورين مرونة أكبر وقدرات ضمن سير عمل الاختبار الخاصة بهم. مقارنةً بـ Postman، يبرز Apidog كحل اختبار أكثر شمولاً وقوة.
لإرسال طلب POST مع بيانات JSON في Apidog، اتبع هذه الخطوات:
الخطوة 1: فتح Apidog وإنشاء طلب جديد.

الخطوة 2: انقر على علامة الطلب واختر POST من قائمة الخيارات المنسدلة.

الخطوة 3: أدخل عنوان URL لنقطة نهاية واجهة برمجة التطبيقات التي تريد اختبارها، في قسم الرؤوس، أضف أي رؤوس مطلوبة. في قسم الجسم، اختر JSON من القائمة المنسدلة وأدخل بيانات JSON التي ترغب في إرسالها في جسم الطلب.

الخطوة 4: انقر على زر الإرسال لإرسال الطلب والتحقق من الاستجابة.

هذا كل شيء! لقد قمت بنجاح بإرسال طلب Python POST مع بيانات JSON في Apidog.
الخلاصة
في هذه التدوينة، قمنا بتغطية كيفية استخدام Python Requests لإرسال بيانات JSON عبر POST. لقد استعرضنا أساسيات إرسال طلب POST، كيفية التعامل مع الاستجابة، وكيفية التعامل مع الأخطاء. نأمل أن تكون هذه التدوينة قد كانت مفيدة لك، وأنك الآن قادر على استخدام Python Requests لإرسال بيانات JSON بسهولة!
