路由器web重定向
需求:sta 连上路由ap热点后, 可自动弹出广告页面。
我目前的做法是这样的:
1, wifi sta连上AP后,自动添加iptables规则,iptables -t nat -D PREROUTING -s 192.168.0.155 -i eth0 -p tcp --dport 80 -j REDIRECT将所以http数据重定向到网关本地。
2, 在路由器中开一个socket,监听80端口的http数据报文。收到http报文后,向连接的客户端发送一个http 301重定向。
HTTP/1.1 301 Moved Permanently\r\nLocation:http://example/index.html\r\n\r\n
3, 路由器发送完301重定向后,立即将iptables规则删除掉。这样下挂手机就可以正常浏览重定向的web页面。
我想要的理想效果是: 手机或者pad等wifi客户端一连上路由器ap,就可以弹出广告页面,不需要去打开浏览器才弹出广告页面。
目前的问题是:
1, android手机无法在连上wifi后自动弹出广告页面,需要手动打开浏览器才能够弹出页面。(这个估计跟手机系统有关系,实在不行的话,就不实现连上wifi自动弹页面)
2,重点: ipone手机连上ap热点后,可以自动弹出页面,但是不是我http 301指定的页面。并且有时候连接可以弹出页面,有时候不能自动弹。请高手帮帮忙指点下。搞了好久了。。先谢啦!