<?php
header('Content-Type:text/html;Charset=utf-8');
function getIpArea($ip = '')
{
// 排除 127.0.0.1, 192.168.*, 0.0.0
$testIp1 = "127.0.0";
if (strpos($ip, $testIp1) === 0) {
return '';
}
$testIp1 = "0.0.0";
if (strpos($ip, $testIp1) === 0) {
return '';
}
$testIp1 = "192.168.";
if (strpos($ip, $testIp1) === 0) {
return '';
}
$url = "http://ip.ws.126.net/ipquery?ip={$ip}";
//注意了,这里的hear信息比较关键, 请先用ajax测试访问成功,然后把请求信息复制过来替换
$header = array(
'Accept: application/json, text/javascript, */*; q=0.01',
'Accept-Language: zh-CN,zh;q=0.9',
'Connection: keep-alive',
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36',
'X-Requested-With: XMLHttpRequest',
);
// 初始化一个curl会话
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //解决重定向问题
// 执行一个curl会话
$contents = curl_exec($ch);
// 返回一个保护当前会话最近一次错误的字符串
$error = curl_error($ch);
if ($error) {
return '';
}
// 关闭一个curl会话
curl_close($ch);
$adress = array();
// 转编码
$encode = mb_detect_encoding($contents, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
$contents = mb_convert_encoding($contents, 'UTF-8', $encode);
preg_match('/lo=\"(.*?)\"\,/si',$contents, $match);
if (isset($match[1]) && !empty($match[1])) {
$adress[] = $match[1];
}
preg_match('/lc=\"(.*?)\"\;/si',$contents, $match);
if (isset($match[1]) && !empty($match[1])) {
$adress[] = $match[1];
}
if (empty($adress)) {
return '';
}
return implode('.', $adress);
}
//$adress = array();
//$text = 'var lo="四川省", lc="成都市"; var localAddress={city:"成都市", province:"四川省"}';
//preg_match('/lo=\"(.*?)\"\,/si',$text, $match);
//$adress[] = isset($match[1]) ? $match[1] : '';
//preg_match('/lc=\"(.*?)\"\;/si',$text, $match);
//$adress[] = isset($match[1]) ? $match[1] : '';
//var_dump($adress);
$ipInfos = GetIpLookup('61.136.39.62'); //baidusmartapp.com IP地址
echo $ipInfos;
评论0