دليل وحدة طلبات Python: كيفية استخدام مكتبة الطلبات في Python؟

نشرت: 2020-03-26

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

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

في هذه المقالة ، سوف نتعلم أساسيات وحدة طلبات بايثون .

جدول المحتويات

وحدة طلبات Python

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

عندما تتطلع إلى إرسال طلب إلى خادم ، هناك طريقتان ستصادفهما:

  • GET - تُستخدم هذه الطريقة لطلب البيانات من الخادم.
  • POST - تُستخدم هذه الطريقة لإرسال بعض البيانات إلى الخادم لمعالجتها.

تحتوي وحدة طلبات Python على واجهة برمجة تطبيقات بسيطة يمكنك استخدامها للتعامل مع كل هذه الطلبات. يوفر لك العديد من الميزات المثيرة للاهتمام ، مثل تمرير المعلمات داخل عناوين URL وإضافة رؤوس وإرسال رؤوس مخصصة وغير ذلك الكثير.

تعرف على المزيد: وحدات Python النمطية التي يجب أن تعرفها

لبدء العمل مع وحدة الطلبات ، فإن الخطوة الأولى هي تثبيت الوحدة في بايثون. للقيام بذلك ، اكتب الكود التالي في بايثون:

طلبات التثبيت بالدولار الأمريكي

إذا كنت ترغب في استخدام Pipenv ، أداة تعبئة Python لتثبيت وحدة الطلبات ، فاكتب الكود التالي:

طلبات تثبيت $ pipenv

بعد تثبيت الوحدة ، يمكنك استخدامها ضمن برامجك عن طريق استيرادها. استخدم الكود التالي:

طلبات الاستيراد

الآن ، دعونا نفهم أهم طرق وحدة طلبات Python - GET و POST.

طلب الحصول على

تُستخدم هذه الطريقة لإرسال طلب GET إلى عنوان URL. يشير هذا إلى أنك تتطلع للحصول على بيانات من مورد على الويب. الصيغة الأساسية هي:

request.get (url، params = {key: value}، args)

هنا ، url هو عنوان URL لموقع الويب الذي تريد إرسال الطلب إليه. المعلمات عبارة عن قاموس أو قائمة مجموعات تستخدم لإرسال سلسلة استعلام. يمكن أن تكون args أي واحد أو أكثر من الوسائط المختلفة المسماة (اختياري) التي تقدمها طريقة GET. وهذه هي:

  • allow_redirects - هذه قيمة منطقية تُستخدم لتمكين إعادة التوجيه أو تعطيله. القيمة الافتراضية: صحيح
  • المصادقة - هذا هو مجموعة tuple لتمكين مصادقة HTTP. القيمة الافتراضية: لا شيء
  • cert - يمكن أن يكون هذا tuple أو سلسلة لذكر ملف أو مفتاح cert. القيمة الافتراضية: لا شيء
  • المهلة - يمكن أن تكون مجموعة أو رقمًا يشير إلى عدد الثواني التي يجب انتظارها حتى يقوم العميل بإنشاء اتصال أو قبل إرسال رد. القيمة الافتراضية: لا شيء
  • تحقق - هذه سلسلة أو قيمة منطقية تشير إلى التحقق من شهادة TLS للخادم. القيمة الافتراضية هي الحقيقية.
  • ملفات تعريف الارتباط - هذا هو قاموس ملفات تعريف الارتباط التي تريد إرسالها إلى عنوان URL المحدد. القيمة الافتراضية: لا شيء
  • رؤوس - هذا قاموس يحتوي على رؤوس HTTP التي ترغب في إرسالها إلى عنوان URL. القيمة الافتراضية: لا شيء
  • دفق - هي قيمة منطقية صواب أو خطأ تشير إلى ما إذا كان ينبغي دفق الاستجابة ( صواب ) أو تنزيلها فورًا ( خطأ ). القيمة الافتراضية: خطأ
  • الوكلاء - هذا هو قاموس البروتوكول لعنوان URL للوكيل. القيمة الافتراضية: لا شيء

تعرف على المزيد: مكتبات Python لتعلم الآلة

بعد إرسال طلب GET بنجاح ، ستعيد الطريقة كائنطلبات .Response . يخزن هذا الكائن الاستجابة التي تم الحصول عليها من الخادم. يمكنك تخزين نتيجة طريقة get () في متغير. بعد ذلك ، يمكنك فحص تفاصيل هذه الاستجابة. الخصائص المهمة التي تساعدك في هذا الصدد هي كما يلي:

  • response.content - يمنحك هذا محتوى بيانات الاستجابة.
  • response.status_code - يمنحك هذا حالة طلبك. على سبيل المثال ، 200 OK تعني أن طلبك كان ناجحًا ، ولكن 404 NOT FOUND يعني أن طلبك لم يتمكن من تحديد موقع المورد لك.
  • response.cookies - يستخدم هذا للحصول على كائن CookieJar الذي يحتوي على جميع ملفات تعريف الارتباط التي حصلت عليها من الخادم.

طلب POST

يمكنك إرسال بعض المعلومات إلى الخادم باستخدام طريقة post () . الصيغة الأساسية للطلب هي:

request.post (url، data = {key: value}، json = {key: value}، args)

بعض المعلمات الهامة هي:

  • url - هذا هو عنوان URL الذي تريد إرسال بعض البيانات إليه. هذا هو معيار إلزامي.
  • البيانات - هذه معلمة اختيارية تحدد قاموسًا أو كائن ملف أو مجموعة تريد إرسالها إلى عنوان URL.
  • json - هذا هو كائن JSON المراد إرساله إلى عنوان URL.

يمكن أن تكون args أيًا من الوسائط المختلفة المسماة ، مثل:

  • الملفات - هذا قاموس للملفات لإرسالها إلى عنوان URL.
  • الرؤوس - قاموس لرؤوس HTTP لإرسالها إلى عنوان URL المحدد.
  • ملفات تعريف الارتباط - يشير هذا إلى قاموس ملفات تعريف الارتباط التي قد ترغب في إرسالها.

تمامًا مثل get () ، تقوم طريقة post () أيضًا بإرجاع كائن request.Response.

تغليف

سيساعدك البرنامج التعليمي لوحدة طلبات Python أعلاه في تقديم طلبات الخادم الأساسية. شيء واحد يجب مراعاته هو أن طريقة get () أقل أمانًا من post (). هذا لأنه في get () ، يتم تمرير المعلمات عبر عنوان URL. لذلك ، قد يتم كشف المعلومات الحساسة ، مثل كلمات المرور. وبالتالي ، استخدم post () في المواقف التي يلزم فيها تبادل كلمات المرور أو المعلومات المهمة.

إذا كنت مهتمًا بالتعرف على Python وعلوم البيانات ، فراجع برنامج IIIT-B & upGrad's Executive PG في علوم البيانات والذي تم إنشاؤه للمهنيين العاملين ويقدم أكثر من 10 دراسات حالة ومشاريع ، وورش عمل عملية عملية ، وإرشاد مع خبراء الصناعة ، وجهاً لوجه مع موجهين في الصناعة ، وأكثر من 400 ساعة من التعلم والمساعدة في العمل مع الشركات الكبرى.

ما فائدة وحدة Request في Python؟

لإجراء طلبات HTTP لأي عنوان URL محدد ، يتم استخدام مكتبة الطلبات في Python. هناك العديد من الوظائف المضمنة في Python للتعامل مع كل من الطلب والاستجابة.

من أجل تقديم طلب HTTP إلى عنوان URL المحدد ، يتم استخدام وحدة طلبات Python بمساعدة طلبات مختلفة مثل HEAD و GET و PATCH و POST و PUT. السبب الرئيسي وراء إرسال طلب HTTP هو إما استرداد البيانات من الخادم أو دفع بيانات معينة إلى الخادم. يمكننا القول أن الطلب سيكون بمثابة جسر بين العميل والخادم لإرسال الطلبات واستلامها. يتم استخدام جميع أنواع الطلبات الخمسة لأغراض مختلفة حسب المتطلبات.

ما هي الأجزاء الثلاثة لأية رسالة رد؟

جميع رسائل HTTP عبارة عن كتل بيانات بسيطة ومنسقة. ستتألف كل رسالة إما من رسالة الطلب من جانب العميل أو رسالة الاستجابة من جانب الخادم. كل رسالة HTTP مقسمة إلى 3 أجزاء:

1. سطر بداية لوصف الرسالة.
2- كتلة من الرؤوس تتكون من جميع السمات.
3. جزء اختياري من الجسم يحتوي على البيانات اللازمة لإرسالها.

يشير عنوان URL في أي رسالة HTTP إلى العنوان الذي توجد به الموارد. من ناحية أخرى ، سيشير البروتوكول إلى بروتوكول HTTP الذي يجب استخدامه لجلب المعلومات.

ماذا تفعل طريقة POST في بايثون؟

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