映月读书网 > 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 > 18.3.2 AC/AP设备改造 >

18.3.2 AC/AP设备改造

AC/AP设备改造需要达到以下要求。

1)提供获取AP及终端手机MAC地址的Web API。

某款Portal路由器获取路由器及当前连接手机MAC地址的API接口如下。


http:// fangbei.lan:8080/ubus
  

请求MAC地址时,提交POST数据示例如下。


{
    "id":1234,
    "jsonrpc":"2.0",
    "method":"call",
    "params":[
        "00000000000000000000000000000000",
        "mgmtd",
        "info",
        {}
    ]
}
  

上述数据提交后,返回数据示例如下。


{
    "jsonrpc":"2.0",
    "id":1234,
    "result":[
        0,
        {
            "hwid":"08410008",
            "swver":"r0.7.6-fangbei",
            "client_ip":"192.168.3.206",
            "macaddr":"00e0614ca7c5",
            "client_mac":"0021ccb8bfd4"
        }
    ]
}
  

其中,macaddr和client_mac分别为当前路由器和手机终端的MAC地址。

2)将IOS的嗅探地址放入白名单。

为了防止IOS切换SSID时自动弹出Portal页,需要将IOS的嗅探地址“http://captive.apple.com/hotspot-detect.html”放入路由器放行地址白名单。

3)支持临时放行上网请求。

AP/AC在Portal页打开后需要临时放行用户的上网请求。只有临时放行成功,才可以通过JS API调起微信,换取用户身份信息,保证后续认证请求顺利完成,从而成功联网。

IOS调起微信时,如果网络不通,WiFi会被切走,会导致联网失败,因此需要AC/AP支持临时放行上网请求。