مكتبة requests في بايثون
مكتبة Requests هي مكتبة برمجية في لغة بايثون لإرسال طلبات HTTP و HTTPS إلى الموارد عبر الإنترنت. تقوم المكتبة بتبسيط عملية إرسال الطلبات واستقبال الردود من خلال توفير واجهة برمجية واضحة وسهلة الاستخدام لنوعية طلبات HTTP المختلفة.
يمكن استخدام مكتبة Requests لإرسال طلبات GET و POST و PUT و DELETE و HEAD و OPTIONS إلى الخوادم، وتمكين التحكم في العديد من المعلمات المختلفة مثل الheader للطلب، والبيانات المُرسَلة (payload)، و cookies والمزيد.
يمكن تثبيت هذه المكتبة باستخدام pip، يمكنك فتح نافذة الأوامر وكتابة الأمر التالي:
pip install requests
بعد ذلك يمكنك استخدامها في برنامجك باستيرادها كالتالي:
import requests
ستكون المكتبة جاهزة للاستخدام.
دوال مكتبة requests
مكتبة requests هي مكتبة في لغة بايثون تستخدم لإرسال طلبات HTTP/1.1 بسهولة. تحتوي المكتبة على العديد من الدوال التي يمكن استخدامها، ومن بين هذه الدوال:
- requests.get(url, params=None, kwargs): هذه الدالة ترجع استجابة HTTP بناءً على الطلب GET المُرسل إلى الرابط المحدد في url.
- requests.post(url, data=None, json=None, kwargs): هذه الدالة تقوم بإرسال طلب POST إلى الرابط المحدد في url وترجع الاستجابة الخاصة به.
- requests.put(url, data=None, kwargs): هذه الدالة تستخدم لإرسال طلب PUT إلى الرابط المحدد في url وترجع الاستجابة الخاصة به.
- requests.delete(url, kwargs): هذه الدالة تستخدم لإرسال طلب DELETE إلى الرابط المحدد في url وترجع الاستجابة الخاصة به.
- requests.head(url, kwargs): هذه الدالة ترجع استجابة HTTP بناءً على الطلب HEAD المُرسل إلى الرابط المحدد في url، ويمكن استخدامها للاستعلام عن معلومات رأس الطلب فقط دون إرجاع البيانات الفعلية.
- requests.patch(url, data=None, kwargs): هذه الدالة تستخدم لإرسال طلب PATCH إلى الرابط المحدد في url وترجع الاستجابة الخاصة به.
هذه بعض الدوال المهمة في مكتبة requests التي يمكن استخدامها في برمجة تطبيقات الويب باستخدام بايثون.
requests.get
requests.get هي واحدة من دوال مكتبة requests الشائعة في بايثون، تستخدم لجلب
المحتوى من صفحة ويب.
لاستخدامها، أولاً عليك تثبيت المكتبة من خلال الأمر التالي:
ثم يمكن استخدام الدالة get بهذا الشكل:
في هذا المثال، تم جلب محتوى صفحة example.com باستخدام الدالة get . تم حفظ الاستجابة في متغير يُدعى response ، ويمكن الوصول إلى محتواها باستخدام الخاصية text .
لاستخدامها، أولاً عليك تثبيت المكتبة من خلال الأمر التالي:
pip install requests
ثم يمكن استخدام الدالة get بهذا الشكل:
import requests
response = requests.get('https://www.example.com')
print(response.text)
في هذا المثال، تم جلب محتوى صفحة example.com باستخدام الدالة get . تم حفظ الاستجابة في متغير يُدعى response ، ويمكن الوصول إلى محتواها باستخدام الخاصية text .
requests.post
requests.post() هي واحدة من دوال مكتبة Requests في بايثون. تستخدم لعمل طلب
HTTP POST إلى مورد معين على الإنترنت.
فيما يلي مثال بسيط يستخدم requests.post() لإرسال بيانات معينة إلى URL محدد:
تم استخدام data لإرسال البيانات المطلوبة إلى المورد. ويتم استخدام response للاطلاع على الرد الذي تم استلامه من المورد. في هذا المثال، يتم طباعة حالة الاستجابة (status code) ومحتوى الاستجابة (content).
requests.put هي وظيفة في مكتبة Python Requests المستخدمة لإرسال طلب HTTP PUT إلى خادم. يتم استخدام الطلبات عادةً للاستفسار عن المحتوى من الخوادم، ولكنها يمكن أيضًا استخدامها لإرسال بيانات للخوادم.
لإرسال طلب HTTP PUT باستخدام requests.put في Python، يمكن استخدام الشكل العام التالي:
حيث يتم تحديد URL المستهدف والبيانات المراد إرسالها، ويتم استخدام requests.put لإرسال الطلب PUT. يتم تمثيل البيانات في الطلب باستخدام المعامل json ، ويتم تخزين الاستجابة من الخادم في متغير response .
فيما يلي مثال بسيط يستخدم requests.post() لإرسال بيانات معينة إلى URL محدد:
import requests
url = 'https://example.com/api'
data = {'name': 'John', 'age': 25}
response = requests.post(url, data=data)
print(response.status_code)
print(response.content)
تم استخدام data لإرسال البيانات المطلوبة إلى المورد. ويتم استخدام response للاطلاع على الرد الذي تم استلامه من المورد. في هذا المثال، يتم طباعة حالة الاستجابة (status code) ومحتوى الاستجابة (content).
requests.put
requests.put هي وظيفة في مكتبة Python Requests المستخدمة لإرسال طلب HTTP PUT إلى خادم. يتم استخدام الطلبات عادةً للاستفسار عن المحتوى من الخوادم، ولكنها يمكن أيضًا استخدامها لإرسال بيانات للخوادم.
لإرسال طلب HTTP PUT باستخدام requests.put في Python، يمكن استخدام الشكل العام التالي:
import requests
url = 'http://example.com/api/endpoint'
data = {'key': 'value'}
response = requests.put(url, json=data)
حيث يتم تحديد URL المستهدف والبيانات المراد إرسالها، ويتم استخدام requests.put لإرسال الطلب PUT. يتم تمثيل البيانات في الطلب باستخدام المعامل json ، ويتم تخزين الاستجابة من الخادم في متغير response .
requests.delete
requests.delete هي دالة في مكتبة requests في بايثون تستخدم لإرسال طلب HTTP
DELETE. يمكن استخدامها لحذف مورد معين من خادم ويب.
لإستخدامها، يجب أولاً استيراد المكتبة requests باستخدام الأمر التالي:
ثم يمكن إرسال طلب DELETE باستخدام الدالة requests.delete() كما يلي:
حيث:
ستقوم دالة requests.delete() بإرجاع كائن Response الذي سيحتوي على رمز الحالة (status code) ورسالة الاستجابة والمزيد من المعلومات حسب الحالة. من أجل استخدام الرد، يمكن القيام بالتالي:
وستظهر على الشاشة رمز الحالة ورسالة الاستجابة.
لإستخدامها، يجب أولاً استيراد المكتبة requests باستخدام الأمر التالي:
import requests
ثم يمكن إرسال طلب DELETE باستخدام الدالة requests.delete() كما يلي:
response = requests.delete(url, headers=headers, params=params)
حيث:
- - url : عنوان URL للمورد الذي يراد حذفه.
- - headers : إذا لزم الأمر، يمكن تمرير قائمة بالرؤوس (headers) الإضافية للطلب.
- - params : إذا لزم الأمر، يمكن تمرير قائمة بالمعلمات الإضافية للطلب.
ستقوم دالة requests.delete() بإرجاع كائن Response الذي سيحتوي على رمز الحالة (status code) ورسالة الاستجابة والمزيد من المعلومات حسب الحالة. من أجل استخدام الرد، يمكن القيام بالتالي:
python
print(response.status_code)
print(response.text)
وستظهر على الشاشة رمز الحالة ورسالة الاستجابة.
requests.head
requests.head هي وظيفة في مكتبة requests في بايثون والتي تقوم بإرسال
طلب HTTP بنوع HEAD إلى URL المحدد دون جسم الرسالة.
يتم استخدام طلبات HEAD عادةً للحصول على معلومات الملفات المستهدفة من الخادم، مثل التحقق من وجود ملف أو الحصول على المعلومات الأساسية حول الملف، دون تحميل كل المحتوى.
وهذا هو مثال بسيط يستخدم requests.head :
هذا المثال يرسل طلب HEAD إلى https://www.example.com ويطبع رمز حالة الاستجابة الذي يشير إلى ما إذا كان الطلب ناجحًا أم لا.
يتم استخدام طلبات HEAD عادةً للحصول على معلومات الملفات المستهدفة من الخادم، مثل التحقق من وجود ملف أو الحصول على المعلومات الأساسية حول الملف، دون تحميل كل المحتوى.
وهذا هو مثال بسيط يستخدم requests.head :
import requests
response = requests.head("https://www.example.com")
print(response.status_code)
هذا المثال يرسل طلب HEAD إلى https://www.example.com ويطبع رمز حالة الاستجابة الذي يشير إلى ما إذا كان الطلب ناجحًا أم لا.
requests.patch
requests.patch هي وظيفة في مكتبة requests في بايثون التي تقوم
بإرسال طلب PATCH إلى خادم ويب.
هذا هو مثال بسيط يستخدم requests.patch :
في هذا المثال، يتم إرسال طلب PATCH إلى عنوان URL "https://example.com/api/resource/123" مع البيانات المحددة في القاموس data . سيتم تخزين الاستجابة في متغيرresponse . يمكن الوصول إلى بيانات الاستجابة باستخدام response.content .
مكتبة requests في بايثون تُستخدم عادةً لإجراء طلبات HTTP و HTTPS. يمكن استخدامها للتواصل مع API's والحصول على البيانات من الويب.
على سبيل المثال، إذا كنت ترغب في جلب صفحة HTML من URL محدد، يمكنك استخدام requests بالشكل التالي:
يمكن أيضًا استخدام requests لإرسال بيانات POST إلى موقع ويب. على سبيل المثال، يمكنك إرسال اسم المستخدم وكلمة المرور إلى صفحة تسجيل الدخول باستخدام requests كما يلي:
يمكن استخدام requests أيضًا لتنزيل الملفات من الويب. على سبيل المثال، يمكنك تنزيل صورة باستخدام requests كما يلي:
هذه بعض من الاستخدامات الشائعة لمكتبة requests في بايثون. يمكن استخدام هذه المكتبة لإجراء أي نوع من طلبات HTTP و HTTPS.
هذا هو مثال بسيط يستخدم requests.patch :
import requests
url = 'https://example.com/api/resource/123'
data = {'key': 'value'}
response = requests.patch(url, data=data)
في هذا المثال، يتم إرسال طلب PATCH إلى عنوان URL "https://example.com/api/resource/123" مع البيانات المحددة في القاموس data . سيتم تخزين الاستجابة في متغيرresponse . يمكن الوصول إلى بيانات الاستجابة باستخدام response.content .
استخدامات مكتبة requests في بايثون
مكتبة requests في بايثون تُستخدم عادةً لإجراء طلبات HTTP و HTTPS. يمكن استخدامها للتواصل مع API's والحصول على البيانات من الويب.
على سبيل المثال، إذا كنت ترغب في جلب صفحة HTML من URL محدد، يمكنك استخدام requests بالشكل التالي:
import requests
response = requests.get('https://www.example.com')
html = response.text
يمكن أيضًا استخدام requests لإرسال بيانات POST إلى موقع ويب. على سبيل المثال، يمكنك إرسال اسم المستخدم وكلمة المرور إلى صفحة تسجيل الدخول باستخدام requests كما يلي:
import requests
payload = {'username': 'user', 'password': 'pass'}
response = requests.post('https://www.example.com/login', data=payload)
يمكن استخدام requests أيضًا لتنزيل الملفات من الويب. على سبيل المثال، يمكنك تنزيل صورة باستخدام requests كما يلي:
import requests
response = requests.get('https://www.example.com/image.jpg')
with open('image.jpg', 'wb') as f:
f.write(response.content)
هذه بعض من الاستخدامات الشائعة لمكتبة requests في بايثون. يمكن استخدام هذه المكتبة لإجراء أي نوع من طلبات HTTP و HTTPS.