Ios 捕获门户-苹果设备未获得自动浏览器弹出窗口
我已经在Ubiquity Unifi基础设施上创建了一个定制的捕获门户(外部托管,使用PHP制作)。一切正常,除了: 苹果设备(OSX、iOS)在连接时无法获得附带门户的常见弹出窗口。Ios 捕获门户-苹果设备未获得自动浏览器弹出窗口,ios,macos,wifi,captivenetwork,captiveportal,Ios,Macos,Wifi,Captivenetwork,Captiveportal,我已经在Ubiquity Unifi基础设施上创建了一个定制的捕获门户(外部托管,使用PHP制作)。一切正常,除了: 苹果设备(OSX、iOS)在连接时无法获得附带门户的常见弹出窗口。 我的雇主要求这样做。有什么想法吗?我根据以下内容解决了自己的问题: iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下: 获取/发布 如果bar.html==[预期内容]>打开Internet 如果bar.html!=[预期内容]>捕获门户 如果bar.html[状态]!=成功>无网络 然而,当用户第
我的雇主要求这样做。有什么想法吗?我根据以下内容解决了自己的问题: iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下:
<?php
/* Trying to get Apple to show the WiFi popup */
if (!empty($_REQUEST['url']) && (strstr($_REQUEST['url'],'success.html') || strstr($_REQUEST['url'],'detect.html'))) {
echo '
Redirecting...
<script type="text/javascript">
window.location = "/index.html";
</script>';
exit;
}
header("Location:/index.html?". $_SERVER['QUERY_STRING']);
我根据以下内容解决了自己的问题:
iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下:
获取/发布
如果bar.html==[预期内容]>打开Internet
如果bar.html!=[预期内容]>捕获门户
如果bar.html[状态]!=成功>无网络
然而,当用户第一次访问捕获门户时,我正在使用HTTP头重定向用户。这不属于上述任何规则,因此苹果设备无法检测到有一个专属门户
这是我的最后一段代码,它从热点提供的奇怪URL重定向到我的门户:
<?php
/* Trying to get Apple to show the WiFi popup */
if (!empty($_REQUEST['url']) && (strstr($_REQUEST['url'],'success.html') || strstr($_REQUEST['url'],'detect.html'))) {
echo '
Redirecting...
<script type="text/javascript">
window.location = "/index.html";
</script>';
exit;
}
header("Location:/index.html?". $_SERVER['QUERY_STRING']);
如果bar.html!=[预期内容]>专属门户
:预期内容应该是什么?为了使移动设备具有iOS,识别专属门户,必须定义哪些内容?对我来说似乎有点模糊。。。我在想,iOS是否可以像Android一样工作,从URL获得204
。@ivanleoncz你试过这个吗?似乎苹果需要一些内容(不管是什么),而不是没有主体的重定向。我会试试这个,因为我也有同样的问题。不@SandroAntonucci,我没有。实际上,我正在为一个用Python编写的CaptivePortal做一个项目,作为Squid的守卫。我只是刚刚开始,但您可以跟踪进度,考虑到这个主题,我可能会创建一些方法。我可以确认这是有效的,同样对于iOS 7,我测试了它在captive.apple.com中检查随机URL,你可以用你的Web服务器进行302重写,将该主机的每个请求重定向到同一页面。iOS 10检查热点检测。htmlI正在使用iptables拦截数据包并将其重定向到Web服务器的ip地址,但它不起作用。它可以在android、linux和windows上运行。没有测试过其他移动操作系统,但肯定无法与ios配合使用。If bar.html!=[预期内容]>专属门户
:预期内容应该是什么?为了使移动设备具有iOS,识别专属门户,必须定义哪些内容?对我来说似乎有点模糊。。。我在想,iOS是否可以像Android一样工作,从URL获得204
。@ivanleoncz你试过这个吗?似乎苹果需要一些内容(不管是什么),而不是没有主体的重定向。我会试试这个,因为我也有同样的问题。不@SandroAntonucci,我没有。实际上,我正在为一个用Python编写的CaptivePortal做一个项目,作为Squid的守卫。我只是刚刚开始,但您可以跟踪进度,考虑到这个主题,我可能会创建一些方法。我可以确认这是有效的,同样对于iOS 7,我测试了它在captive.apple.com中检查随机URL,你可以用你的Web服务器进行302重写,将该主机的每个请求重定向到同一页面。iOS 10检查热点检测。htmlI正在使用iptables拦截数据包并将其重定向到Web服务器的ip地址,但它不起作用。它可以在android、linux和windows上运行。没有测试过其他移动操作系统,但肯定无法与ios配合使用。您是否使用内部托管的控制器或云控制器?什么环境?linux?窗户?版本?您使用的是内部托管的控制器还是云控制器?什么环境?linux?窗户?版本