http协议:
国内大陆优化(支持ipv6)http://api.ipshudi.com/ipdata/
国际各洲覆盖(部份ipv6)http://api.ip138.com/ipdata/
https协议:
国内大陆优化(支持ipv6)https://api.ipshudi.com/ipdata/
国际各洲覆盖(部份ipv6)https://api.ip138.com/ipdata/
* API接口可能会因为各种网络原因和攻击都可能产生阻断,请开发时做好冗余和异常处理
* 当HTTP请求返回的状态码非200时,请做异常处理,比如 202 状态码造成的原因可能是无效Token、余额不足、格式错误
PHP调用iP查询接口示例:
01.
<?php
02.
$ip
=
'117.25.13.123'
;
03.
$datatype
=
'txt'
;
04.
$url
=
'https://api.ip138.com/ipdata/?ip='
.
$ip
.
'&datatype='
.
$datatype
;
05.
06.
$header
=
array
(
'token:00d5cb1fac5dc5cbfe2ff218292a2dfd33'
);
07.
echo
getData(
$url
,
$header
);
08.
09.
function
getData(
$url
,
$header
){
10.
$ch
= curl_init();
11.
curl_setopt(
$ch
,CURLOPT_URL,
$url
);
12.
curl_setopt(
$ch
,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
13.
curl_setopt(
$ch
,CURLOPT_HTTPHEADER,
$header
);
14.
curl_setopt(
$ch
,CURLOPT_RETURNTRANSFER,1);
15.
curl_setopt(
$ch
,CURLOPT_CONNECTTIMEOUT,3);
16.
$handles
= curl_exec(
$ch
);
17.
curl_close(
$ch
);
18.
return
$handles
;
19.
}
20.
?>
01.
<?php
02.
//js引入页面 callback jsonp回调地址
03.
$ip
=
'117.25.13.123'
;
04.
$mid
= 35553;
05.
$oid
= 2;
06.
$token
=
'00d5cb1fac5dc5cbfe2ff218292a2dfd33'
;
07.
$sign
= md5(
"ip="
.
$ip
.
"&token="
.
$token
);
08.
$url
=
'https://api.ip138.com/ipdata/'
;
09.
//以下是js引入代码
10.
/***
11.
/*<script type="text/javascript" src="<?php echo $url.'?ip='.$ip.'&callback=find&oid='.$oid.'&mid='.$mid.'&sign='.$sign;?>"></script>
12.
**/
13.
?>