एंड्रॉइड में वाईफाई कैसे पता लगाता है कि डिवाइस को साइन इन करना है या नहीं?


28

जब डिवाइस एक्सेस प्वाइंट या राउटर से कनेक्ट करने की कोशिश करता है, तो उसे कैप्टिव पोर्टल पेज पर संदेश के साथ साइन इन करना होता है

"वाई-फाई नेटवर्क में साइन इन करें"।

एक्सेस प्वाइंट / राउटर कैसे पहचानता है कि डिवाइस के लिए साइन इन करना आवश्यक है और इसके पीछे की प्रक्रिया क्या है?

जवाबों:


32

डिटेक्शन यूआरएल अलग-अलग एंड्रॉइड वर्जन के बीच भिन्न होता है।

मार्शमैलो के लिए, यह connectcheck.gstatic.com/generate_204 का उपयोग करता है, यहां कोड की जांच करें AndroidXRef - मार्शमैलो 6.0.0_r1

किटकैट के लिए, यह client3.google.com/generate_204 कोड का उपयोग करता है AndroidXRef - किटकैट 4.4.4_r1 की जाँच करें


वास्तव में यह बहुत बेहतर उत्तर है और इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए
Moataz Elmasry

मैं इसे संपादित करके उत्तर को हाइजैक नहीं करना चाहता था, इसलिए मैं सिर्फ एक टिप्पणी छोड़ दूंगा। मुझे यह महसूस करने में थोड़ा समय लगा कि यदि पता नहीं चल सकता है तो पता लगाने वाला URL सूचना को ट्रिगर करता है । इसके अलावा, मुझे इस अनुरोध का जवाब देने के लिए मेरी पहुंच बिंदु की आवश्यकता थी - किसी प्रकार की सामग्री के साथ - मेरे मामले में मैंने 200 कोड के साथ-साथ अपने वेब सर्वर के इंडेक्स पेज को तब लौटाया जब / Gener_204 का अनुरोध किया गया। प्रतिक्रिया में सामग्री के बिना, रिटर्न कोड की परवाह किए बिना, मुझे "वाई-फाई की कोई इंटरनेट एक्सेस नहीं है" अधिसूचना मिलेगी।
ombबॉम्ब

@ubomb अजीब लगता है, क्योंकि http://connectivitycheck.gstatic.com/generate_204वास्तव में कोई सामग्री नहीं के साथ 204 देता है, और स्पष्ट रूप से काम करता है। हो सकता है कि आपने अभी Content-Length: 0हेडर छोड़ा हो ।
तामीर दानीली

9

इस तकनीक को "कैप्टिव पोर्टल" कहा जाता है। कई कार्यान्वयन हैं। जैसा कि मुझे पता है, एंड्रॉइड generate_204Google सर्वर में से एक पर एक फ़ाइल तक पहुंचने की कोशिश करता है और यदि यह संभव नहीं है, तो एक अधिसूचना उत्पन्न होती है।

विकिपीडिया पर आगे पढ़ने: Captive_portal


दरअसल मुझे कैप्टिव पोर्टल के बारे में पता है। लेकिन मैं इसे जांचने के लिए विशिष्ट URL जानता हूं। मैं जानना चाहता हूं कि यह कैसा काम है। यह क्या नहीं है।
सागर वाघेला

1
आपका क्या मतलब है - "यह कैसे काम करता है"? एंड्रॉइड एक अनुरोध भेजता है, और यदि कोई सकारात्मक प्रतिक्रिया नहीं है, तो इसका मतलब है कि इंटरनेट से कोई संबंध नहीं है, और अधिसूचना उत्पन्न होती है। यह वैसे काम करता है।
Άν 9ρας

कौन सा विशिष्ट URL है जिस पर Android अनुरोध है। मैंने प्रश्न में उल्लेख किया है।
सागर वाघेला

2
अपनी पिछली टिप्पणी में आपने कहा था कि आप विशिष्ट URL को जानते हैं। मुझे लगता है किhttps://www.gstatic.com/generate_204
Άνδρας

2
URL क्लाइंट 3.google.com/generate_204 प्रतीत होता है । क्रोमियम के लिए इस साइट से ली गई जानकारी जो शायद Android के लिए समान है। chromium.org/chromium-os/chromiumos-design-docs/…
बेंजामिन

2

एक कैप्टिव पोर्टल आम तौर पर सभी ट्रैफ़िक को एक वैध HTTP प्रतिक्रिया (200) को निर्देशित करके कार्यान्वित किया जाता है। यह HTTP प्रतिसाद है जो कैप्टिव पोर्टल में दिखाई देता है।

यह iptables या dnsmasq जैसे टूल के साथ किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.