目前我测试过的有三种方法可以根据ip地址获取地理位置,第一种是通过新浪IP查询接口获取,第二种是通过腾讯IP查询接口获取,第三种是通过ip138查询。
一、新浪IP查询接口地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php
后面带有两个参数:ip=你要查询的ip地址,format=返回的查询结果格式,现在使用json
<span style="white-space:pre"> </span>function getAddressFromIp_sina($ip) {
$url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$addr = curl_exec($ch);
$data = json_decode($addr);
curl_close($ch);
if($data->ret == "1") {
$result = $data->province.","