$url = 'http://ip.ws.126.net/ipquery?ip=';
@$city = get_curl($url . $ip);
$city = json_decode($city, true);
if ($city['city']) {
$location = $city['province'] . $city['city'];
} else {
$location = $city['province'];
}
我这个是通过函数get_curl访问并返回内容,json获取参数'city'和'province'的内容,我这个写的不行,来个正确代码示范
这是接口返回的内容:var lo="湖南省", lc="长沙市"; var localAddress={city:"长沙市", province:"湖南省"}
要输出province和city的内容
如果你不写那么你就再换一个请求地址,可以直接输出json对象的地址API接口
比如https://whois.pconline.com.cn/ipJson.jsp?ip=
用这种方式取数据,
$location = $city['province'];
$location = $city['city'];
试下这个
public function getIpInfo($ip = '119.29.142.237')
{
$url = "http://whois.pconline.com.cn/jsFunction.jsp?callback=jsShow&ip=" . $ip;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);
$info = iconv('GB2312', 'UTF-8', $output);
preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $info, $regs);
$ascription = join('', $regs[0]);
return mb_substr($ascription, 0, 80, 'utf-8');
}