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

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

هناك طرق HTTP مختلفة، لكل منها غرض محدد يشير إلى طبيعة الطلب. أكثر طرق HTTP شيوعًا هي GET و POST و PUT و DELETE.
ما هو طلب GET؟
طلب GET هو طريقة HTTP تستخدم لاسترجاع المعلومات من الخادم. على عكس طرق HTTP الأخرى، مثل PUT أو POST، الغرض الرئيسي من طلب GET هو الحصول على البيانات بدلاً من تعديلها أو تحديثها. عندما ترسل طلب GET إلى خادم، فإنك في الأساس تطلب الحصول على معلومات أو موارد معينة تقع في عنوان URL محدد.
بعبارات أبسط، طلب GET يشبه تقديم استفسار إلى الخادم، قائلًا: "مرحبًا، أود تلقي البيانات أو المورد الموجود في هذا العنوان URL المحدد." لا يتضمن تغيير أو استبدال المعلومات الموجودة؛ بدلاً من ذلك، يتعلق الأمر بالحصول على البيانات المطلوبة من الخادم.
ما هو Python؟
بعد تغطية أساسيات طلبات HTTP، دعنا الآن نركز على Python، لغة برمجة عالية المستوى تُعرف ببساطتها وقراءتها ومرونتها. تسمح Python للمطورين بكتابة كود واضح ومنطقي لمشاريع بأحجام مختلفة. يمكنك الحصول على أحدث نسخة من Python من خلال زيارة الموقع الرسمي وتنزيلها من هناك.

تجعل مكتبات Python الواسعة منها مفضلة بين المطورين، وتضمن تركيبها أن حتى المبتدئين يمكنهم فهم مفاهيمها بسرعة. فلماذا لا تستفيد من قوة Python لجعل طلبات GET لديك أكثر سلاسة من أي وقت مضى؟
كيفية إجراء طلب GET في Python
لإجراء طلبات HTTP في Python، غالبًا ما نستخدم مكتبة requests
الشهيرة. إذا لم يكن مثبتًا لديك، يمكنك فعل ذلك عن طريق تشغيل الأمر التالي في الطرفية لديك:
pip install requests
بمجرد تثبيت مكتبة requests، يمكنك استيرادها في نص Python الخاص بك باستخدام الكود التالي:
import requests
والآن، دعنا نتعمق في الكود. إجراء طلب GET الأساسي يتضمن استيراد وحدة requests
واستخدام طريقة get
مع عنوان URL المرغوب. إليك مثال بسيط:
import requests
url = "https://api.example.com/data"
response = requests.get(url)
# تحقق مما إذا كان الطلب ناجحًا (رمز الحالة 200)
if response.status_code == 200:
print("طلب GET ناجح!")
print("الرد:")
print(response.text)
else:
print(f"فشل طلب GET برمز الحالة {response.status_code}")
في هذا المثال، نحدد عنوان URL الذي نريد استرداد البيانات منه، نستخدم requests.get(url)
لإجراء طلب GET، ثم نتحقق من رمز الحالة للرد. يشير رمز الحالة 200 إلى النجاح، ونطبع محتوى الرد.

فهم معلمات طلب GET في Python.
فهم تعقيدات معلمات طلب GET أمر حيوي لتخصيص طلباتك وفقًا لاحتياجات معينة. دعنا نستكشف المعلمات الأساسية وأدوارها في تشكيل طلبات GET الخاصة بك لتفاعلات سلسة مع موارد الويب.
URL:
تحدد معلمة URL موقع المورد الذي تنوي استرداده باستخدام طلب GET.
البيانات:
على عكس طلبات PUT، نادراً ما ترسل طلبات GET بيانات في جسم الطلب. بدلاً من ذلك، غالبًا ما يتم تضمين المعلمات في URL نفسه. على سبيل المثال، إلحاق ?key1=value1&key2=value2
بالعنوان URL.
الرؤوس:
مماثل لطلبات PUT، يمكن تخصيص الرؤوس في طلب GET باستخدام معلمة الرؤوس. هذا مفيد لتحديد التفاصيل مثل Content-Type أو Authorization.
المصادقة:
إذا كانت نقطة النهاية المستهدفة تتطلب مصادقة، فإن معلمة auth تتيح لك تقديم بيانات الاعتماد اللازمة للوصول الآمن.
الوقت المستغرق:
تتيح لك معلمة الوقت المستغرق تحديد مدة قصوى لطلب GET، تحديد عدد الثواني التي يجب الانتظار فيها للرد قبل انتهاء الوقت.
الوكالات:
في السيناريوهات التي تتطلب استخدام الوكالات، تتيح لك معلمة الوكالات تحديد عنوان URL للوكالة لتسهيل طلب GET من خلال وسيط محدد.
التحقق:
مماثل لطلبات PUT، تلعب معلمة التحقق دورًا في التحقق من شهادة SSL. تعيينها إلى True يتحقق من شهادة SSL، بينما False يعطل التحقق.
السماح بإعادة التوجيه:
بشكل افتراضي، تتبع طلبات GET عمليات إعادة التوجيه تلقائيًا. إذا كنت ترغب في تعطيل هذا السلوك، قم بتعيين معلمة السماح بإعادة التوجيه إلى False.
مثال: استخدام معلمة URL في طلب GET:
import requests
url = "https://api.example.com/resource?key1=value1&key2=value2"
response = requests.get(url)
if response.status_code == 200:
print("طلب GET ناجح!")
print("الرد:")
print(response.text)
else:
print(f"فشل طلب GET برمز الحالة {response.status_code}")
في هذا المثال، يتم تضمين البيانات في URL لاسترداد مورد مع معلمات key-value معينة.
بينما تبدأ في رحلتك مع Python، ستعزز هذه المفاهيم بلا شك قدرتك على إجراء طلبات GET.
استخدام Apidog لاختبار طلب GET في Python
Apidog هي أداة اختبار API قوية تتيح لك توليد وتخزين طلبات API، وتصنيفها في مجموعات، والتعاون مع فريقك. إليك دليل استخدام Apidog لاختبار طلب GET الخاص بك:
- افتح Apidog وأنتج طلبًا جديدًا.

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

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

4. تأكد من أن الرد يتطابق مع توقعاتك.

أفضل الممارسات لإجراء طلب GET.
عند الانخراط في طلب GET، يصبح من الضروري إدارة الأخطاء بشكل فعال. من الضروري فحص رمز حالة الرد بشكل متواصل للتحقق من نجاح الطلب. بالإضافة إلى ذلك، من الضروري معالجة أي أخطاء محتملة قد تنشأ أثناء تنفيذ الطلب. إن اتخاذ هذه التدابير يضمن معالجة موثوقة وقوية للأخطاء، مما يعزز عملية طلب GET أكثر سلاسة ومرونة.
هناك العديد من أفضل الممارسات التي يجب مراعاتها. إليك بعضها:
- استخدام HTTPS: استخدم دائمًا HTTPS بدلاً من HTTP لضمان تشفير بياناتك وأمانها.
- اجعل عناوين URL قصيرة: يجب أن تظل عناوين URL قصيرة قدر الإمكان لتسهيل قراءتها ومشاركتها. تجنب استخدام سلاسل استعلام طويلة أو معلمات في عنوان URL.
- استخدم معلمات الاستعلام: استخدم معلمات الاستعلام لتمرير البيانات إلى الخادم. هذا يسهل عملية الفرز والبحث عن البيانات.
- قلل عدد المعلمات: قلل عدد المعلمات التي تستخدمها في طلبات GET الخاصة بك. إن الكثير من المعلمات يمكن أن تجعل طلباتك صعبة القراءة والفهم.
- تجنب البيانات الحساسة: لا تشمل البيانات الحساسة في طلبات GET الخاصة بك. يجب إرسال البيانات الحساسة باستخدام طلبات POST بدلاً من ذلك.
- قم بتخزين الردود مؤقتًا: إذا كان ذلك ممكنًا، قم بتخزين الردود من طلبات GET الخاصة بك مؤقتًا لتحسين الأداء.
- استخدم التقسيم: إذا كنت تطلب كمية كبيرة من البيانات، استخدم التقسيم لتقسيمها إلى أجزاء أصغر.
الخاتمة
في هذه التدوينة، قمنا بمغامرة صغيرة في عالم طلبات GET. تعلمنا كيفية إجراء طلب GET في Python واستمتعنا باختباره مع Apidog. كما استكشفنا الطرق الممتعة التي يمكنك من خلالها تعديل وتخصيص طلب GET الخاص بك باستخدام معلمات مختلفة.
الآن بعد أن لديك هذه المعرفة الرائعة تحت حزامك، ستكون مستعدًا لإجراء طلبات GET في مشاريعك. لذا اذهب، جربها، ودع تلك الطلبات GET تعمل سحرها!
برمجة سعيدة!🚀🚀