Android设备上的强制门户网站

时间:2014-04-18 08:19:31

标签: android webserver wifi tethering captivenetwork

我使用我的Android设备作为移动网络服务器。我想将通过我的便携式Android热点连接的每个用户定向到特定的wellcome页面。

有人知道如何在我的设备中实现此技术(我相信这称为captive portal技术)?

4 个答案:

答案 0 :(得分:11)

我回答了我自己的问题,直到有人分享了一些有关如何在非root设备中实施强制网络门户的有用信息。

目前我不知道这样的解决方案。

强制网络门户通过拦截大多数网络数据包(使用防火墙)工作,无论地址或端口如何,直到用户打开浏览器并尝试访问网络。那时浏览器被重定向到一个网页,可能需要认证等。

因此,对于存在强制门户解决方案,许多部分(如软件防火墙/路由器/网络服务器)需要集成和协作。鉴于目前在非根电话中的限制/权限,我现在认为此类应用程序可能不会存在。

@ mmm2006:但是,如果你有一个有根设备,那么像Paywall这样的应用就可以为你做到这一点。

您还可以尝试实施自己的强制门户解决方案。它不是微不足道的,但由于Android基于Linux内核,你可以试试这样的东西:

答案 1 :(得分:0)

我不确定在Android设备上执行此操作(我在这里搜索如何禁用android检查以获取captivate),但我在覆盆子pi上设置y,作为WiFi接入点运行使用dnsmasq,以便所有流量都将到达设备(然后使用nginx提供默认页面或特定于域的虚拟主机设置)。

这似乎触发我的Android 7.0相信有一个迷人的门户网站(奇怪地指示我到captivate.apple.com,它显示我的默认网址)。

也许这将有助于您评估实现类似功能所需的基础Linux系统组件。对不起,它没有完全回答你的问题。

答案 2 :(得分:0)

Captive Portal现在已在Android 11-API Level 30中引入。 一定要看看新功能。 Captive Portal - API Level 30 - New Feature

答案 3 :(得分:-2)

android处理来自marshmallow的强制门户网站以获取更多详细信息 https://developer.android.com/reference/android/net/CaptivePortal.html

在您的应用启动器活动中添加“android.net.conn.CAPTIVE_PORTAL”意图过滤器