淘宝公司提供了一个很好用的IP地理信息查询接口。在这里:http://ip.taobao.com/
以下这个taobaoIPQuery类将极大的简化相关的信息查询。
复制代码 代码如下:
class taobaoIPQuery {
private $m_ip;
private $m_content;
public function __construct($ip) {
if (isset($ip)) {
$this->m_ip = $ip;
} else {
$this->m_ip = "";
}
if (!empty($this->m_ip)) {
$url_handle = curl_init();
curl_setopt($url_handle, CURLOPT_URL, "http://ip.taobao.com/service/getIpInfo.php?ip=" . $this->m_ip);
curl_setopt($url_handle, CURLOPT_RETURNTRANSFER, true);
$this->m_content = curl_exec($url_handle);
curl_close($url_handle);
if ($this->m_content) {
$this->m_content = json_decode($this->m_content);
if ($this->m_content->{'code'} == 1) {
exit("query error!");
}
} else {
exit("curl error!");
}
} else {
exit("ip address must be not empty!");
}
}
public function get_region() {
return $this->m_content->{'data'}->{'region'};
}
public function get_isp() {
return $this->m_content->{'data'}->{'isp'};
}
public function get_country() {
return $this->m_content->{'data'}->{'country'};
}
public function get_city() {
return $this->m_content->{'data'}->{'city'};
}
}
调用很简单
复制代码 代码如下:
$ip = $_SERVER["REMOTE_ADDR"];
$ipquery = new taobaoIPQuery($ip);
$region = $ipquery->get_region();
$country = $ipquery->get_country();
$city = $ipquery->get_city();
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn