利用Google API 进行IP地址定位

先说一句 精度在国内只能到城市

通常来讲, 定位主要有以下4种方法:

1.      GPS

2.      Wi-Fi access point

3.      cell tower

4.      IP address (or local router)


Google 提供了适用于移动设备的API

https://developers.google.com/maps/documentation/business/geolocation/

利用了公共的Wifi,手机信号和GPS来定位。

貌似不符合我们利用IP 地址来定位的需求。


在HTML5中,Geolocation可以返回用户所在地址。

可实际上,浏览器只是搜集相关网络信息,发送给地址服务提供商。

以火狐为例,

"By default,Firefox uses Google Location Services to determine your location by sending:

your computer’s IPaddress,

information about thenearby wireless access points"

所以就需要找到 Google Location Services的API

经过一番研究,其实就是上文提到的API。

只要传输空白的wifi 节点信息, Google API就会利用IP地址来定位。


命令很简单:

curl -d {"wifiAccessPoints":[]} -H "Content-Type: application/json"-i "https://www.googleapis.com/geolocation/v1/geolocate?key=yourkey" 


就会返回你的城市市中心的GPS地址 


在这里推荐下Live HTTP Headers 插件 

它可以截取获取浏览器的request信息。我就是截取Firefox的HTML5的gelocations的指令


不足就是API 24小时内只能免费调用100次

你可能感兴趣的:(利用Google API 进行IP地址定位)