使用此代码获取IP地址的位置。
$location = file_get_contents('http://freegeoip.net/json/'.'117.253.168.187');
当我提供IP地址 117.253.168.187 国家/地区列为正确的IN但该区域返回空值时,这是我的问题。
{"ip":"117.253.168.187","country_code":"IN","country_name":"India","region_code":"","region_name":"","city":"","zipcode":"","latitude":20,"longitude":77,"metro_code":"","area_code":""}
如果我将IP更改为 122.166.65.125 ,则会返回包含国家/地区的正确区域。
{ “IP”: “122.166.65.125”, “COUNTRY_CODE”: “IN”, “COUNTRY_NAME”: “印”, “REGION_CODE”: “19”, “REGION_NAME”: “卡纳塔克邦”, “城市”: “班加罗尔”, “邮政编码”: “”, “纬度”:12.9833, “经度”:77.5833 “METRO_CODE”: “”, “AREA_CODE”: “”}
我不知道为什么这个api在某些IP地址中显示空白区域?
我的页面中有重定向取决于地区。那么我该如何解决地区问题呢?
从INTERNET收集虚拟IP地址,例如:http://myip.ms/view/cities/67445/IP_Addresses_Cochin.html
任何人都可以帮助我寻找解决方案。
答案 0 :(得分:1)
这是因为我的freegeoip.net没有IP 117.253.168.187的完整区域信息。 我也尝试了很多ip到位置,但只付了一个工作正常。您可以使用http://www.ip2location.com/demo
答案 1 :(得分:1)
freegeoip.net是免费的IP定位服务,在被IP Stack收购后已被弃用。我一直在使用ipgeolocation.io,它提供了所有IP地址的完整位置。
在免费计划中,您每月可以使用3万个请求(每天1000个请求),并且所有位置功能都与付费计划相同。
这是他们测试IP location和完整documentation的链接。