百度开发,通过IP定位城市

百度开发,通过IP定位城市

直接上代码:

说明:代码是根据官方的示例代码更改的,执行此文件以后直接将浏览器出现的url后面的地址复制到地址栏就可以看到想要的,原本想要一个精确的到门牌号之类的,但是百度接口不支持,先记录下来,再找其他的办法


$ak = 'Your ak';
$sk = 'Your sk';
$url = "http://api.map.baidu.com/location/ip?ip=%s&output=%s&ak=%s&sn=%s";
$uri = "/location/ip";
$ip = 'The IP you want to query';
$output = 'json';
$querystring_arrays = array (
    'ip' => $ip,
    'output' => $output,
    'ak' => $ak
);
$sn = caculateAKSN($ak, $sk, $uri, $querystring_arrays);
$target = sprintf($url, urlencode($ip), $output, $ak, $sn);
echo "sn: $sn \n";
echo "url: $target \n";
function caculateAKSN($ak, $sk, $url, $querystring_arrays, $method = 'GET')
{
    if ($method === 'POST'){
        ksort($querystring_arrays);
    }
    $querystring = http_build_query($querystring_arrays);
    return md5(urlencode($url.'?'.$querystring.$sk));
}

你可能感兴趣的:(php)