الليلة الماضية وجدت نفسي بحاجة إلى تحديث بعض أكواد التطبيق للتبديل من مكالمة http متزامنة إلى مكالمة غير متزامنة. هذه ليست مشكلة صعبة بشكل خاص ولكن قد يكون من الصعب تصحيحها.
لذلك كان ما أحتاجه هو طريقة لاختبار مكالمات http هذه، ولم يكن الجهاز الذي كنت أستخدمه يحتوي بالفعل على أي خوادم http قيد التشغيل لاستخدامها كهدف.
لا مشكلة: فهو يحتوي على لغة بايثون - وهذا كل ما تحتاجه.
لقد تم تشكيل هذا النمط بالنسبة لي. بالنسبة للمهام البسيطة، غالبًا ما يكون من الأسهل كتابة برنامج نصي صغير للأداة المساعدة بدلاً من تثبيت بعض البرامج الكاملة للقيام بمهمة ما.
إذا كنت بحاجة إلى خادم حقيقي، فابحث عنه بكل الوسائل (ولكن حتى ذلك الحين أقترح Docker إن أمكن). ولكن إذا كنت تحتاج فقط إلى نقطة نهاية سريعة للاختبار أو لحل حالة استخدام واحدة، فمن المحتمل أن تكون بايثون صديقتك.
أنا أقول بايثون على وجه التحديد لأنها موجودة في كل مكان مع مكتبة قياسية غنية ونظام بيئي.
كانت فكرة هذا الخادم البسيط هي مساعدتي في اختبار مكالمات العميل غير المتزامن لذلك أردت الانتظار لمدة 5 ثوانٍ ثم الرد. أردت فقط أن يرد على أي مكالمة عادية برقم 200 بعد 5 ثوانٍ.
from flask import Flask, request import time app = Flask(__name__) @app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) @app.route('/', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) def catch_all(path): print(f"Path: {path}") print(f"Headers: {dict(request.headers)}") print(f"Params: {request.args}") print(f"Data: {request.data}") # Wait for 5 seconds time.sleep(5) return "yessir" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3