Mohssen A Mohssen نشر 8 ديسمبر 2021 أرسل تقرير نشر 8 ديسمبر 2021 أريد الحصول على عنوان ip الخاص بأي مستخدم يزور مسار معين في تطبيق فلاسك Flask من أجل تخزين بعض المعلومات في عملية logging كيف أقوم بهذا الأمر؟ أنا أستخدم flask 1.1 و python 3.9 1 اقتباس
1 سامح أشرف نشر 8 ديسمبر 2021 أرسل تقرير نشر 8 ديسمبر 2021 يوفر فلاسك Flask إمكانية معرفة عنوان IP الخاص بالمستخدم من خلال إستخدام الكائن request، حيث يحتوي على الخاصية remote_addr والتي تشير إلى عنوان IP الخاص بالمستخدم: from flask import Flask, request @app.route('/') def foo(): ip = request.remote_addr return f"your IP is {ip}" إذا قام أي مستخدم بزيارة المسار / سوف يحصل على عنوان IP الخاص به: your IP is 104.16.154.36 وإذا قمت بتشغيل التطبيق من خلال خادم محلي localhost أو إذا كنت تستعمل proxy لتشغيل التطبيق مثل إستخدام nginx سوف تحصل على النتيجة التالية: your IP is 127.0.0.1 لذلك يمكنك إستعمال الكود التالي للحصول على عنوان المستخدم نفسه حتى وإن كنت تستعمل proxy: from flask import Flask, request @app.route('/') def foo(): if request.environ.get('HTTP_X_FORWARDED_FOR') is None: ip = request.environ['REMOTE_ADDR'] else: ip = request.environ['HTTP_X_FORWARDED_FOR'] # if behind a proxy return f"your IP is {ip}" 2 اقتباس
السؤال
Mohssen A Mohssen
أريد الحصول على عنوان ip الخاص بأي مستخدم يزور مسار معين في تطبيق فلاسك Flask من أجل تخزين بعض المعلومات في عملية logging
كيف أقوم بهذا الأمر؟
أنا أستخدم flask 1.1 و python 3.9
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.