हालांकि यह मूर्खतापूर्ण लगता है, मैं Play 2.0 में क्लाइंट के आईपी प्राप्त करने का कोई तरीका नहीं ढूंढ पाया। यह 1.2.x में Http.Request.remoteAddress
के रूप में उपलब्ध था, लेकिन 2.0 (मैंने मुख्य रूप से स्कैला एपीआई की जांच की, लेकिन मैंने जावा की एक त्वरित जांच भी की) केवल play(.api).mvc.Request
में अनुरोध के सर्वर पक्ष के बारे में जानकारी प्रदान करता है। क्या मुझे कुछ याद आ रही है? निकटतम हैक मैं अभी इस बारे में सोच सकता हूं इसे एक रिवर्स प्रॉक्सी के पीछे स्थापित कर रहा है और फिर X-Forwarded-For
की जांच कर रहा है, लेकिन यह देव में बहुत अच्छा काम नहीं करता है।क्लाइंट आईपी कैसे प्राप्त करें?
उत्तर
संपादित करें: इस उत्तर के लिए वापस आ रहा है, इस playframework 2.0.2 में जोड़ा गया: https://groups.google.com/forum/#!msg/play-framework/Z97GQ2VnR5M/T-STGaeuN68J%5B1-25%5D पर जारी घोषणा और http://www.playframework.org/documentation/api/2.0.2/scala/index.html#play.api.mvc.Request
पर अधिक महत्वपूर्ण बात एपीआई दस्तावेज़ देखें अब वहाँ के रूप में आप देख सकते हैं Request.remoteAddress
मूल के लिए समर्थन करते हैं:
वर्तमान में नजर में एक बग इस के लिए खुला है: https://play.lighthouseapp.com/projects/82401/tickets/256-add-back-requestheaderremoteaddress
मुझे लगता है कि प्ले किए गए पैच को शामिल करने के लिए play2.0 पुस्तकालयों को हैक करना वर्तमान में सबसे अच्छा शर्त है। एक्सएफएफ हेडर जोड़ने और आईपी निर्धारित करने के लिए इसका उपयोग करने के एकमात्र उद्देश्य के साथ प्रॉक्सी का उपयोग करने की तुलना में यह शायद अभी भी क्लीनर है।
असल में, मैंने इसे पोस्ट किया, और मैं वह हूं जिसने पैच बनाया है। –
मुझे लगता है कि अब हम सुरक्षित रूप से यह मान सकते हैं कि यह Play टीम द्वारा 'ओप्स' था। शर्मिंदा कोई भी 2.0 फाइनल से पहले नहीं देखा। हो सकता है कि बग्रेपोर्ट अभी भी 'नहीं, आप इसे आसानी से कुछ और तरीके से कर सकते हैं'। लेकिन मुझे शक है। – Martijn
हाँ, यह मेरा विचार भी था, इसे खोजने में असमर्थ होने के बाद। उस भावना को तब ओलिवियर के जवाब से मजबूर किया गया जो संदर्भ http://www.playframework.org/documentation/2.0/HTTPServer जो वास्तव में संदर्भ का संदर्भ देता है .remoteAddress (हालांकि यह वास्तव में मौजूद नहीं है)। –
https://github.com/orefalo/play2-xforward
पर इस Github परियोजना की जांच करें मैं Play1 से कोड लिया और Play2 करने के लिए इसे भेजा है, यह एक ही काम करना चाहिए।
फिर भी कार्य प्रगति पर ...
नहीं करेगा, यह _your_ डोमेन/ip है। –
क्या आप निश्चित हैं? इसे इस तरह के 'आलसी वैल होस्ट के रूप में पढ़ा जाता है: स्ट्रिंग = headers.get (play.api.http.HeaderNames.HOST) .getOrElse ("")' मुझे लगता है क्योंकि यह अनुरोध से पढ़ा जाता है। यह स्थानीय आईपी/डोमेन नहीं हो सकता है। अब यदि आप पोस्ट पढ़ते हैं, तो यह बताता है कि मूल होस्ट को 'ProxyPreserveHost On' –
btw के साथ कैसे संरक्षित किया जाए, आपकी समस्या को ठीक करने की कोशिश करने के लिए धन्यवाद! –
- 1. रेल: क्लाइंट आईपी पता प्राप्त करें
- 2. SQL सर्वर 2008 से क्लाइंट आईपी पता कैसे प्राप्त करें?
- 3. अपाचे मीना: किसी कनेक्टेड क्लाइंट से आईपी कैसे प्राप्त करें
- 4. क्लाइंट आईपी पता
- 5. आईपी पता कैसे प्राप्त करें?
- 6. मैं टोरनाडो अनुरोध के क्लाइंट आईपी कैसे प्राप्त करूं?
- 7. विज़िटर से वास्तविक आईपी कैसे प्राप्त करें?
- 8. सर्वर आईपी पता कैसे प्राप्त करें?
- 9. सी में एसॉक संरचना से आईपी पता कैसे प्राप्त करें?
- 10. आईपी पते से होस्ट नाम प्राप्त करें
- 11. मैं टीसीपी क्लाइंट का उपयोग कर क्लाइंट आईपी पता कैसे प्राप्त करूं?
- 12. उद्देश्य-सी टीसीपी/आईपी क्लाइंट
- 13. HttpServlet से क्लाइंट का मैक पता कैसे प्राप्त करें?
- 14. जावा का उपयोग कर क्लाइंट के लैन आईपी कैसे प्राप्त करें?
- 15. Play में क्लाइंट का आईपी पता कैसे प्राप्त करें! ढांचा 2.0?
- 16. मशीन पर सभी आईपी पते प्राप्त करें
- 17. आगंतुकों का आईपी पता प्राप्त करें
- 18. मल्टीकास्ट पैकेट से प्रेषक आईपी प्राप्त करें
- 19. स्वयं-होस्ट किए गए सिग्नलआर हब में क्लाइंट आईपी पता प्राप्त करें
- 20. सिग्नलआर कॉलर आईपी पता प्राप्त करें
- 21. सार्वजनिक (रिमोट) आईपी पता प्राप्त करें
- 22. मेरा आईपी पता प्राप्त करना
- 23. उद्देश्य सी में बाहरी आईपी कैसे प्राप्त करें
- 24. लैन में सभी होस्टों का आईपी कैसे प्राप्त करें?
- 25. अपने एप्लिकेशन सर्वर का आईपी पता कैसे प्राप्त करें
- 26. जावा में डोमेन नाम से आईपी पता कैसे प्राप्त करें?
- 27. जावा InetAddress.getLocalHost(); 127.0.0.1 देता है ... वास्तविक आईपी कैसे प्राप्त करें?
- 28. डब्ल्यूसीएफ: होस्ट आईपी या सर्वर का नाम कैसे प्राप्त करें
- 29. सी # में आईपी कैमरा स्ट्रीम कैसे प्राप्त करें?
- 30. डब्ल्यूसीएफ रिमोट एंडपॉइंट का आईपी पता कैसे प्राप्त करें?
हाय, अगर आपके पास कोई एचटीपी अनुरोध है, तो आपने 'play.api.http.HeaderNames.FROM' के साथ एक चाल का उपयोग करने का प्रयास किया है और अनुरोध हेडर शायद आप किसी भी तरह से प्राप्त कर सकते हैं? –
से उपयोगकर्ता द्वारा अनुरोध करने का ईमेल पता। सुनिश्चित नहीं है कि यह –