< ?php
function get_ip_place(){
$ip=file_get_contents("http://fw.qq.com/ipaddress");
$ip=str_replace('"',' ',$ip);
$ip2=explode("(",$ip);
$a=substr($ip2[1],0,-2);
$b=explode(",",$a);
return $b;
}
$ip=get_ip_place();
print_r($ip); ?>
代码须联网使用的,使用腾迅的一个api,即http://fw.qq.com/ipaddress
然后用php进行了简单的处理,使返回的结果用数组形式显示:
即Array ( [0] =>123.5.115.119 [1] => [2] => 河南省 [3] => 新乡市)
ps:同理用JS也可以通过腾迅的API获得IP地址和IP地址所在的地区。
腾讯的接口是:http://fw.qq.com/ipaddress
返回数组,其返回值:
var IPData = new Array("61.135.152.194","","北京市","");
新浪的接口是:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
多地域测试方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?
format=js&ip=218.192.3.42
返回值:
var remote_ip_info =
{"ret":1,"start":"218.192.0.0","end":"218.192.7.255","country":"\u4e2d\u56fd","province":
"\u5e7f\u4e1c","city":"\u5e7f\u5dde","district":"","isp":"\u6559\u80b2
\u7f51","type":"\u5b66\u6821","desc":"\u5e7f\u5dde\u5927\u5b66\u7eba\u7ec7\u670d\u88c5
\u5b66\u9662"};
通过jquery 获取相应的数据
复制代码 代码如下:
$.getScript('数据接口',function(){
//腾讯:IPData[0]
//新浪:remote_ip_info.country
...
})
AS3代码:
System.useCodePage=true;
var url:URLRequest=new URLRequest();
url.url="http://fw.qq.com/ipaddress";
var reg:RegExp=/".*"/ig;
var reg2:RegExp=/"/ig;
var urlLoad:URLLoader=new URLLoader();
urlLoad.addEventListener(Event.COMPLETE,onComplete);
urlLoad.load(url);
function onComplete(ev:Event) {
var str:String=ev.target.data;
var getStr:String;
var datas:Array=str.match(reg);
trace("str:"+str);
if (datas) {
getStr=datas[0].replace(reg2,"");
datas=getStr.split(",");
trace(datas[0]+" "+datas[2]+" "+datas[3]);
}
}
新浪可用,腾讯貌似挂了。