获取android设备公网IP的方案

来源:互联网 发布:网络冗余技术 编辑:程序博客网 时间:2024/06/01 20:09
1,收集可以获取公网ip的站点,最后筛选出下列5个站点:
http://httpbin.org/ip
http://ip-api.com/json
http://ipecho.net/plain
http://checkip.dyndns.org/
http://ifconfig.me/ip


2,加载策略:
2.1 app每次启动时,遍历【1】中整理的站点list,一旦ip获取成功,结束加载并缓存公网ip
2.2 需要使用公网ip时,检测ip缓存:有ip缓存,直接使用;否则,再次遍历【1】中整理的站点list加载ip,成功则缓存并直接使用,全部失败则执行容错逻辑

3,ip提取:
3.1 由于【1】中5个站点返回的数据格式不一致,为统一处理,采用正则匹配的方法提取ip
3.2 提取ipv4使用的正则:((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[09][0-9]|[1-9][0-9]|[0-9])

0 0
原创粉丝点击