腾讯的接口是 ,返回数组 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"};

使用腾迅的api接口,php获取ip地址以及所在城市

http://fw.qq.com/ipaddress返回类似:var IPData = new Array("61.51.71.183","","北京市","");

 

代码

<?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);
?> 

代码测试地址:http://www.phpall.cn/forum/ci_data/ip_place.php 该代码须联网使用的,它使用了腾迅的一个api,即http://fw.qq.com/ipaddress 然后用php进行了一些简单的处理,使返回的结果用数组形式显示: 即Array ( [0] => 61.164.140.51 [1] => [2] => 浙江省 [3] => 温州市 ) 这样大家就可以很方便的通过数组索引来调用ip地址和所在的省市了。 希望对大家有用。

补充一点:在网上找到另外一种方法: 代码如下: $ip = $_SERVER['REMOTE_ADDR'];//这里的ip可以是你自定义的ip $geoInfo = get_meta_tags(http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=$ip); /* 返回的数组信息如下,不过是英文版本的 Array  (  [known] => true //该IP地址是否可知,即是否有收录;  [locationcode] => CNGDGUAN //地址位置的代码,包含了国家、省份和城市;  [fips104] => CH //美国联邦信息处理标准的国家代码;  [iso2] => CN //iso2标准的国家代码;  [iso3] => CHN //iso标准的国家代码;  [ison] => 156 //用途未明  [internet] => CN //也是国家代码  [countryid] => 49 //国家ID;  [country] => China //国家名称;  [regionid] => 1361 //地区的id,即省份;  [region] => Guangdong //地区名称,即省份名称;  [regioncode] => GD //地区的代码或者缩写;  [adm1code] => CH30 //不清楚其含义;  [cityid] => 3539 //城市的ID;  [city] => Guangzhou //城市的名称;  [latitude] => 23.1170 //纬度;  [longitude] => 113.2500 //经度;  [timezone] => +08:00 //时区;  [certainty] => 78 //不清楚其含义;  ) */

原文:http://www.phpall.cn/forum/read.php?tid=411

另外封装的一个方法(一个朋友提供):

function address_baidu($ip) {     $u = "";     $address = file_get_contents(" http://open.baidu.com/ipsearch/s?wd={$ip}&tn=baiduip");     preg_match('#来自:<b>(.+)</b>#Ui', $address, $m);     return strval($m[1]); } function GetRemoteIp($default='127.0.0.1') {     $ip_string = $_SERVER['HTTP_CLIENT_IP'].','.$_SERVER['HTTP_X_FORWARDED_FOR'].','.$_SERVER['REMOTE_ADDR'];     if ( preg_match ("/\d+\.\d+\.\d+\.\d+/", $ip_string, $matches) )     {         return $matches[0];     }     return $default; } $ip = GetRemoteIp(); $addr = address_baidu($ip);

腾讯新浪通过IP地址获取当前地理位置(省份)的接口的更多相关文章

  1. 根据现有IP地址获取其地理位置(省份,城市等)的方法

    根据现有IP地址获取其地理位置(省份,城市等)的方法 function GetIpLookup($ip = ''){ if(empty($ip)){ return '请输入IP地址'; } $res ...

  2. 转载:腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口

    腾讯的接口是 ,返回数组 http://fw.qq.com/ipaddress 返回值 var IPData = new Array("61.135.152.194"," ...

  3. IP地址获取当前地理位置(省份)的接口

    腾讯的接口是 ,返回数组 http://fw.qq.com/ipaddress 返回值 var IPData = new Array("61.135.152.194"," ...

  4. 通过ip地址获取当前地理位置

    1.  使用接口的方式: 这种方式是相对稳定,而且提供的数据相对稳定,提供接口的地方很多,大家可以参照 http://www.hujuntao.com/api/the-ip-address-api-a ...

  5. js根据ip地址获取城市地理位置

    一.使用js根据ip获取地址位置 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>& ...

  6. android 根据网络来获取外网ip地址及国家,地区的接口

    新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js 新浪多地域测试方法:http://int.dpool. ...

  7. JS 利用新浪接口通过IP地址获取当前所在城市

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">< ...

  8. php获取ip地址所在的地理位置的实现

    1,通过腾讯或者新浪提供的接口来获取(新浪和腾讯类似) <?php     function getIPLocation($queryIP){      $url = 'http://ip.qq ...

  9. 小工具-IP地址获取和设置及端口访问验证(windows)

    技术部在业务部门眼里就是后勤部门,业务部门要搬到新大楼去 领导要求去帮忙调试业务人员的电脑,要保证这些大爷们周一上班来,就喝着茶打开新浪,然后打开OA看看. 手上就几个桌面支持的兄弟,要弄一百台多电脑 ...

随机推荐

  1. redmine慢---提速方法

    最近readmine速度越来越慢.网上查了一下,把其自带的服务器webrick 换成为mongrel,可以解决这个问题,具体操作方法如下,方法: gem install mongrel 如果提示类似“ ...

  2. JSP页面的中文乱码

    jsp页面显示中文乱码:    jsp页面的编码方式有两个地方需要设置:   <%@ page language="java" import="java.util. ...

  3. Java Filter过滤器的简单总结

    1.Filter的介绍 Filter技术是servlet 2.3新增加的功能.它能够对Servlet容器的请求和响应对象进行检查和修改. Filter本身并不生成请求和响应对象,只是提供过滤功能. F ...

  4. Learn sed using these command on Linux(流线式编辑器——sed)

    是对文件中的每一行进行处理,不会对源文件进行修改 sed --version sed '11d' sed_file sed -n '/[Bb]erry/p' sed_file (由于设置了n,所以只打 ...

  5. 【HDU 5115】Dire Wolf

    题意 n只狼排成一行,每次击败第i只狼需要ai+bi-1+bi+1代价,击败后,相当于出列了,与i相邻两只狼成了相邻的.求击败所有狼的最小总代价. 分析 我开始一直以为是个环TAT.. 区间dp,dp ...

  6. sdibt 1244 烦人的幻灯片

    在这个OJ站还没号,暂时没提交,只是过了样例 真不愧是烦人的幻灯片,烦了我一小时 ---更新:OJ测试完毕,AC 烦人的幻灯片问题 Time Limit: 1 Sec  Memory Limit: 6 ...

  7. FatMouse的交易问题

    想按照某个值排序,用sort()函数,结果想了半天不知道用数组怎么解决,然后看了答案,才知道原来可以用struct,想想我真是笨死了.. 原题描述以及答案如下: Problem Description ...

  8. 使用Java的嵌套循环打印出平行四边形、等腰三角形、棱形、矩形的星星图案(Java工程师面试必备)

    第一遍是看了视频,听老师讲解嵌套循环的使用,然后到星星图形这一步,当时都觉得听明白了,但是自己去做,就是写不出来 第二遍看了赵老师的教程,看了好熟悉的感觉,还是自己写不出来 第三遍找网上关于图形的嵌套 ...

  9. Linux—fork函数学习笔记

    fork()函数 在赋值语句pid = fork();之前,只有一个进程在执行这段代码,但在这条语句之后,就变成两个进程在执行了,这两个进程的代码部分完全相同.> 两个进程中,原先就存在的那个被 ...

  10. POJ2965The Pilots Brothers' refrigerator(枚举+DFS)

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22057 ...