• لمتابعة آخر المقالات و الحيل التقنية و كسب كورسات مجانية انضم لقناتنا الآن   انضم الان

ماهو Requests في Python؟

мαɢɒ

ماهو Requests في Python؟

الـ Requests هي مكتبة مبنية بلغة بايثون تستخدم لإرسال طلبات HTTP بشكل سهل ومرن، يمكن استخدام Requests في إستدعاء موارد الويب مثل صفحات HTML والبيانات من نوع JSON والتعامل مع البيانات المستدعاة بسهولة، تتميز Requests بطرق سهلة الإستخدام وتوفير ميزات مثل إعادة التوجيه التلقائي وإدارة الجلسات وغيرها.

مقدمة:

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

مثال عن طريقة إرسال الطلبات عندما نقوم بالبحث عن دروس Python كمثال على Google يتم إرسال طلب HTTP إلى سيرفر Google ويقوم السيرفر بإرجاع نتائج البحث هنا يتم التواصل بين العميل والسيرفر ويستخدم في هذه الحالة بروتوكول نقل النص HTTP والذي يتيح التواصل بين العميل والسيرفر عبر الإنترنت وهذا يعنى اننا وصلنا للمعلومة التي بحثنا عنها عبر إرسال طلب او Requests.

كود يوضح قوة الطلبات في مكتبة Requests:

import requests

def search_book(query):
    url = f"https://www.googleapis.com/books/v1/volumes?q={query}"
    response = requests.get(url)

    if response.status_code == 200:
        data = response.json()
        total_results = data['totalItems']
        print(f"Total results found: {total_results}\n")

        if total_results > 0:
            books = data['items']
            for book in books:
                book_info = book['volumeInfo']
                title = book_info['title']
                authors = book_info['authors']
                print(f"Title: {title}")
                print(f"Authors: {', '.join(authors)}")
                print("-----------------------")
        else:
            print("No results found.")
    else:
        print("An error occurred while fetching data.")
search_book("Python")

الكود السابق يقوم بالبحث عن الكتب باستخدام API Google Books.

إستخدامات مكتبة Requests:

  1. إجراء طلبات HTTP إلى المواقع والتفاعل مع البيانات المرسلة منها.
  2. إستخراج البيانات من المواقع مثل إستعراض وتحليل صفحات HTML وإستخراج المعلومات منها.
  3. الوصول إلى واجهات برمجة التطبيقات (API) حيث يتم التفاعل مع واجهات برمجة التطبيق لجمع البيانات او إرسال البيانات إلى تطبيقات أخرى.
  4. عمل إختبار (Test) بشكل آلي للتحقق من سلوك التطبيقات والتفاعل معها.
  5. الأمان والإختراق الأخلاقي حيث تستخدم للتحقق من ثغرات الأمان وإختبار قوة الحماية في التطبيقات عبر إرسال طلبات مضافة لها طرق إستعلام حسب الغرض من الطلب.
  6. إدارة الجلسات والمصادقة عبر إرسال البيانات المطلوبة مثل إسم المستخدم وكلمة المرور وإستقبال الطلب بعد الرد من السيرفر.
  7. الإستجابة والتفاعل مع المواقع بشكل تلقائي مثل تسجيل الدخول إلى حسابات المستخدمين او تعبئة النماذج او الإستبيانات بشكل تلقائي.

الطرق الأساسية في عمل Requests:

1- الـ GET يتم إستخدامه لطلب البيانات من السيرفر.

مثال عن الـ GET:

requests.get(url, param = {key:value}, args)

في المثال السابق تم إرسال طلب عبر GET إلى عنوان URL المحدد ويمكن تمرير معلومات الاستعلام المطلوبة في params.

2- الـ POST يتم إستخدامه لإرسال البيانات إلى السيرفر لمعالجتها.

مثال عن الـ POST:

requests.post(url, data={key: value}, json={key: value}, args) 

في المثال السابق تم إرسال البيانات عبر POST ويتم تحديد URL الذي نريد إرسال البيانات إليه، الـ Data وهي تحديد نوع البيانات المرسلة، أما بالنسبة لـ JSON هو الـ object او الكائن الذي سيتم إرساله إلى عنوان URL.

هناك طرق أخرى لعمل Requests:

  1. الـ delete وعملها إرسال طلب حذف إلى عنوان URL المحدد.
  2. الـ patch وعملها إرسال طلب تصحيح او تحديث جزء محدد من المحتوى إلى عنوان URL المحدد.
  3. الـ put وعملها إرسال طلب تحديث إلى عنوان URL المحدد.
  4. الـ head وعملها إسترداد المعلومات الرأسية (headers).
  5. الـ options وعملها إسترداد قائمة بالطرق والميزات المدعومة من URL المحدد.
  6. الـ trace وعملها تشخيص الطلبات والإستجابات وفحص كيفية تمرير البيانات عبر عنوان URL.

خاتمة:

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

إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.