1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Android获取公网IP地址

Android获取公网IP地址

时间:2020-05-03 06:26:30

相关推荐

Android获取公网IP地址

Android想要获取公网IP地址,连接wifi的情况下在应用层开发的角度使用系统的API是做不到的,只能直接或间接利用第三方的接口服务:

1、公共接口:

搜狐:

/cityjson

返回格式:

var returnCitySN = {"cip": "XXXX", "cid": "XXX", "cname": "XX省XX市"};

淘宝(不稳定,经常访问不了):

/service/getIpInfo2.php?ip=myip

注意:淘宝的接口在请求时需要添加 “User-Agent” : “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36 Edg/80.0.361.109”,因为淘宝的这个接口只能用于PC浏览器访问,所以需要添加该标识让服务器认为这个请求是PC浏览器发起的。

返回格式:

{"code":0,"data":{"ip":"XXXXXX","country":"中国","area":"","region":"XX","city":"XX","county":"XX","isp":"XX","country_id":"CN","area_id":"","region_id":"XXX","city_id":"XXX","county_id":"xx","isp_id":"XXX"}}

在APP中调用接口,然后手动解析出IP地址,另外这两个接口都是http请求,在高版本系统上会出现请求失败,是因为从Android 9.0开始默认禁止了http请求,可以通过清单文件添加配置解决:

文件名随便起,文件内配置如下:

<?xml version="1.0" encoding="utf-8"?><network-security-config><base-config cleartextTrafficPermitted="true" /></network-security-config>

优点:无需接入门槛即可使用。

缺点:不稳定,接口不可用或者有改动,会发生异常。

2、各个地图服务API,比如:腾讯位置服务、百度地图、高德地图等等,需要到各平台注册成为开发者后才能使用API,并且还可能存在调用次数的限制。

所以建议采用多种策略进行获取。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。