private val platforms = arrayOf(
"https://icanhazip.com/",
"https://ipecho.net/plain",
"https://ipinfo.io/ip",
)
private fun getIpCn() {
OkGo.get<String>("https://ip.cn/api/index?ip=&type=0").execute(object:StringCallback(){
override fun onSuccess(response: Response<String>?) {
val ipCn = GsonUtils.fromJson(response?.body(), IpCn::class.java)
binding.userOutIpTv.text = "${ipCn.address} ${ipCn.ip}"
}
override fun onError(response: Response<String>?) {
getIpInfo()
}
})
}
var mIndex = 0
fun getIpInfo(index:Int = 0) {
if(index >= platforms.size){
return
}
val url = platforms[index]
OkGo.get<String>(url).execute(object:StringCallback(){
override fun onSuccess(response: Response<String>?) {
TmdLogger.e("index $index $url ----> ${response?.body()}")
binding.userOutIpTv.text = "${response?.body()}"
}
override fun onError(response: Response<String>?) {
getIpInfo(++mIndex)
}
})
}