كيفية إرسال طلب POST في بايثون؟

تعلم كيفية إرسال طلبات POST في بايثون باستخدام مكتبة requests. يغطي هذا الدليل كل شيء من إعداد بيئتك إلى اتباع أفضل الممارسات للتواصل الآمن والفعال مع واجهات برمجة التطبيقات.

Amir Hassan

Amir Hassan

30 مايو 2025

كيفية إرسال طلب POST في بايثون؟

في هذه التدوينة، سوف نستكشف أساسيات طلبات POST، وكيفية القيام بها باستخدام مكتبة Python Requests، وبعض الممارسات الجيدة التي يجب مراعاتها. سواء كنت مطوراً متمرساً أو مجرد مبتدئ، ستوفر لك هذه الدليل كل ما تحتاج لمعرفته حول طلبات POST.

أساسيات طلب HTTP

قبل أن نت dive into طلب POST، دعنا أولاً نفهم ما هو طلب HTTP. HTTP تعني بروتوكول نقل النص الفائق، وهو بروتوكول يُستخدم لنقل البيانات عبر الإنترنت. طلب HTTP هو رسالة تُرسل من عميل إلى خادم، تطلب موردًا معينًا. بعد ذلك، يقوم الخادم بالرد بالموارد التي تم طلبها.

أساليب HTTP

هناك عدة أساليب HTTP، التي يُشار إليها أيضًا بطلبات HTTP، كل منها يخدم غرضًا محددًا وينقل طبيعة الطلب. تشمل أساليب HTTP الأكثر شيوعًا GET و POST و PUT و DELETE.

ما هو طلب POST؟

طلب POST هو طريقة تُستخدم في بروتوكول نقل النص الفائق (HTTP) لإرسال بيانات إلى خادم لإنشاء أو تحديث مورد. تُدرج البيانات في جسم الطلب، بدلاً من أن تكون في URL كما هو الحال مع طلب GET. هذه الطريقة تُستخدم عادةً لتقديم بيانات النماذج أو تحميل الملفات.

ما هو Python؟

الآن بعد أن قمنا بتغطية أساسيات طلبات HTTP، دعنا نتحدث عن لغة البرمجة التي ستكون رفيقنا الموثوق في هذه الرحلة - Python. بايثون معروفة بسهولتها وقابليتها للقراءة ومرونتها. إنها لغة عالية المستوى تتيح للمطورين كتابة رمز واضح ومنطقي لمشاريع بجميع الأحجام. يمكن الحصول على أحدث إصدار من بايثون بزيارة الموقع الرسمي وتحميله من هناك.

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

تجعل مكتبات بايثون الواسعة منها مفضلة بين المطورين، ويضمن تركيبها أنه حتى المبتدئين يمكنهم استيعاب مفاهيمها بسرعة.

كيفية إجراء طلب POST باستخدام بايثون

لإجراء طلب POST باستخدام بايثون، يمكنك استخدام مكتبة requests، وهي مكتبة HTTP شهيرة لبايثون. إليك مثالاً على كيفية إجراء طلب POST:

import requests

# تعريف URL والبيانات التي سيتم إرسالها في طلب POST
url = 'http://example.com/test/demo_form.php'
data = {'name1': 'value1', 'name2': 'value2'}

# إجراء طلب POST
response = requests.post(url, data=data)

# طباعة حالة الاستجابة ومحتوى الاستجابة
print(f"Status Code: {response.status_code}")
print(f"Response Content: {response.text}")

في هذه الشيفرة، نقوم بإرسال طلب POST إلى http://example.com/test/demo_form.php مع قطعتين من البيانات: name1 بقيمة value1، و name2 بقيمة value2. تُستخدم دالة requests.post لإرسال طلب POST، ثم نقوم بطباعة حالة الاستجابة ومحتوى الاستجابة من الخادم.

يرجى ملاحظة أنه لتشغيل هذه الشيفرة، ستحتاج إلى تثبيت مكتبة requests. يمكنك تثبيتها باستخدام pip:

pip install requests
طلب POST

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

في بايثون، عند إجراء طلب POST باستخدام مكتبة requests، عادةً ما تتعامل مع المعلمات التالية:

إليك تحليل كيفية استخدام هذه المعلمات:

import requests

# URL لطلب POST
url = 'http://example.com/api'

# البيانات التي سيتم إرسالها في جسم طلب POST
data = {
    'key1': 'value1',
    'key2': 'value2'
}

# إجراء طلب POST
response = requests.post(url, data=data)

# التحقق من الاستجابة
print(response.text)

في هذا المثال، data هو قاموس يحتوي على البيانات التي سيتم إرسالها إلى الخادم. إذا كنت ترسل بيانات JSON، يمكنك استخدام معلمة json بدلاً من ذلك، والتي تضبط تلقائيًا رأس Content-Type إلى application/json.

بالإضافة إلى ذلك، يمكن أن تقبل دالة requests.post عدة معلمات أخرى (**kwargs) مثل:

تسمح لك هذه المعلمات بتخصيص طلب POST ليناسب متطلبات الخادم الذي تتفاعل معه.

استخدام Apidog لاختبار طلب POST الخاص بك في بايثون

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

button

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

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

2. قم بتعيين طريقة الطلب إلى POST.

اختر طلب POST

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

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

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

أفضل الممارسات لإجراء طلب POST.

عند إجراء طلب POST، من المهم اتباع أفضل الممارسات لضمان أن واجهة برمجة التطبيقات الخاصة بك آمنة وفعالة وسهلة الاستخدام. إليك بعض الممارسات الرئيسية:

استخدم JSON لنقل البيانات: JSON هو المعيار لنقل البيانات. وهو مدعوم على نطاق واسع وسهل الاستخدام مع معظم الأطر.

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

تعامل مع الأخطاء بطريقة سلسة: قم بإرجاع رموز حالة HTTP القياسية وقدم رسائل خطأ واضحة لمساعدة العملاء على فهم ما حدث خطأ.

دعّم التصفية، والترتيب، والتقسيم: تُحسن هذه الميزات من قابلية استخدام واجهة برمجة التطبيقات الخاصة بك من خلال السماح للعملاء باسترجاع البيانات التي يحتاجونها فقط.

تخزين البيانات مؤقتًا: يمكن أن يحسن التخزين المؤقت بشكل كبير أداء واجهة برمجة التطبيقات الخاصة بك من خلال تقليل العبء على الخادم وتسريع أوقات الاستجابة.

قم بإصدار نسخة من واجهة برمجة التطبيقات الخاصة بك: احتفظ بإصدارات مختلفة من واجهة برمجة التطبيقات الخاصة بك لضمان التوافق مع الإصدارات السابقة وللسماح للعملاء بالانتقال إلى إصدارات جديدة بالسرعة التي تناسبهم.

تحقق من صحة المدخلات: تحقق دائمًا من صحة المدخلات وقم بتنقيتها لحماية واجهتك من حقن SQL وأنواع الهجمات الأخرى.

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

استخدم رموز الحالة المناسبة: استخدم رموز حالة HTTP المناسبة للإشارة إلى نتيجة الطلب. على سبيل المثال، استخدم 201 تم الإنشاء لطلبات POST الناجحة التي تؤدي إلى الإنشاء.

تجنب تحميل معلمات الاستعلام: استخدم معلمات الاستعلام للبيانات الوصفية غير الحساسة وأرسل البيانات الرئيسية و المعلومات الحساسة في جسم الطلب.

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

الخاتمة

إرسال طلب POST في بايثون هو مهارة أساسية لأي مطور يعمل مع APIs. من خلال الاستفادة من مكتبة requests، يمكنك التفاعل بشكل فعال مع خدمات الويب، وتقديم بيانات النماذج، والتعامل مع استجابات الخادم. تذكر اتباع أفضل الممارسات مثل استخدام JSON لنقل البيانات، وأمن واجهة برمجة التطبيقات الخاصة بك، واختبار طلب POST الخاص بك باستخدام Apidog، والتحقق من صحة المدخلات لضمان تطبيقات قوية وآمنة.

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

button

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

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