में ब्राउज़र शीर्षलेख पुनर्प्राप्त करें मैं वर्तमान में एक खाली चित्रण कर रहा हूं कि पाइथन टॉरनाडो में किसी उपयोगकर्ता के लिए वर्तमान ब्राउज़र शीर्षलेख जानकारी कैसे प्राप्त करें? उदाहरण के लिए, PHP में आप $ _SERVER डेटा को सरल देखना चाहते हैं। टोरनेडो का विकल्प क्या है?पायथन
नोट: How do I get the client IP of a Tornado request? और "अनुरोध" मेरे लिए काम नहीं करता है।
class api(tornado.web.RequestHandler):
def initialize(self, *args, **kwargs):
self.remote_ip = self.request.headers.get('X-Forwarded-For', self.request.headers.get('X-Real-Ip', self.request.remote_ip))
self.using_ssl = (self.request.headers.get('X-Scheme', 'http') == 'https')
def get(self):
self.write("Hello " + ("s" if self.using_ssl else "") + " " + self.remote_ip)
यहां कुछ पृष्ठभूमि को ध्यान देने योग्य है। कारण @ जेम्स को self.request.protocol गलत हो सकता है यह है कि कुछ सर्वर सेटअप (जैसे अमेज़ॅन ईएलबी जो एसएसएल, अन्य प्रकार के सर्वर-साइड प्रॉक्सी को संभालते हैं) आपके सर्वर पर चीजें पास करने से पहले प्रोटोकॉल और आईपी बदलते हैं। इन प्रॉक्सी द्वारा प्रदान किए गए एक्स-फॉरवर्ड-फॉर और अन्य शीर्षकों का उपयोग करने से आप वास्तव में ब्राउज़र के अनुरोध के लिए काम कर सकते हैं। – mikemaccana
इसके अलावा, आपको पता होना चाहिए कि क्लाइंट स्वयं द्वारा "एक्स-फॉरवर्ड-फॉर" सेट कर सकता है, जिससे आप इस मान को अपने आईपी के रूप में स्वीकार कर सकते हैं। तो आपको केवल इसका उपयोग करना चाहिए यदि कोई ऐसा सेटअप है जो इस हेडर को सेट करता है, सामान्य रूप से नहीं। – johndodo