今天在博客园看到一篇关于如何获取ip以及ip所在城市,刚好用到,就转载一下分享给大家看看,博主昵称:TBHacker

1获取真实ip,本地测试总是::1 或者127.0.0.1 或者局域网的ip

/**
 * 获取用户真实 IP
 */
function getIP()
{
    static $realip;
    if (isset($_SERVER)){
        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
            $realip = $_SERVER["HTTP_CLIENT_IP"];
        } else {
            $realip = $_SERVER["REMOTE_ADDR"];
        }
    } else {
        if (getenv("HTTP_X_FORWARDED_FOR")){
            $realip = getenv("HTTP_X_FORWARDED_FOR");
        } else if (getenv("HTTP_CLIENT_IP")) {
            $realip = getenv("HTTP_CLIENT_IP");
        } else {
            $realip = getenv("REMOTE_ADDR");
        }
    }
    return $realip;
}

2.根据ip获取地址

/**
 * 获取 IP  地理位置
 * 淘宝IP接口
 * @Return: array
 */
function getCity($ip = '')
{
    if($ip == ''){
        $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json";
        $ip=json_decode(file_get_contents($url),true);
        $data = $ip;
    }else{
        $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
        $ip=json_decode(file_get_contents($url));   
        if((string)$ip->code=='1'){
           return false;
        }
        $data = (array)$ip->data;
    }
    
    return $data;   
}

测试:

var_dump(getIP());
var_dump(getCity());
var_dump(getCity('218.93.250.162'));
结果:
string(3) "::1"
array(10) {
["ret"]=>
int(1)
["start"]=>
int(-1)
["end"]=>
int(-1)
["country"]=>
string(6) "中国"
["province"]=>
string(6) "江苏"
["city"]=>
string(6) "宿迁"
["district"]=>
string(0) ""
["isp"]=>
string(0) ""
["type"]=>
string(0) ""
["desc"]=>
string(0) ""
}
array(13) {
["country"]=>
string(6) "中国"
["country_id"]=>
string(2) "CN"
["area"]=>
string(6) "华东"
["area_id"]=>
string(6) "300000"
["region"]=>
string(9) "江苏省"
["region_id"]=>
string(6) "320000"
["city"]=>
string(9) "宿迁市"
["city_id"]=>
string(6) "321300"
["county"]=>
string(0) ""
["county_id"]=>
string(2) "-1"
["isp"]=>
string(6) "电信"
["isp_id"]=>
string(6) "100017"
["ip"]=>
string(14) "218.93.250.162"
}

PHP获取ip与ip所在城市相关推荐

  1. 根据IP定位用户所在城市信息

    2019独角兽企业重金招聘Python工程师标准>>> 当我们在页面中填写个人资料中的省市信息时,页面会根据当前用户所在的城市自动选中省市下拉选项:当我们访问某个大型站点时,网站程序 ...

  2. python 通过ip获取城市_python中通过客户端IP拿到所在城市和当地天气信息—附带项目案例...

    首先,需求分析: 1.拿到客户端IP 2.通过IP拿到客户端所在地区 3.通过地区拿到当地天气 4.整合功能,展示给用户 第一步,如何拿到用户IP 我们以Django环境为例 # 客户端的请求,IP信 ...

  3. 如何快速获取并分析自己所在城市的房价行情?

    本文转载自公众号:数人之道 若需要广州二手房源结果数据文件及 Jupyter Notebook 源文件,请扫描下方二维码关注『数人之道』公众号,回复 广州二手房 获取. 12 月 20 日,央行授权全 ...

  4. php通过ip查询经纬度,php 获取客户端IP地址经纬度所在城市

    ZeroMQ接口函数之 :zmq_ctx_new – 创建一个新的ZMQ 环境上下文 ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_ctx_new zmq_ct ...

  5. Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

    Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据) 目录 Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以 ...

  6. 获取地区html代码,根据ip地址获取所在城市信息(省市县)代码

    [实例简介] [实例截图] [核心代码] 获取ip地址所在城市 var showIP = function(ip, remote_ip_info ){ if(remote_ip_info['ret'] ...

  7. 通过用户电脑ip获取用户当前所在城市以及天气

    1.先获取当前用户得ip地址 $.ajax({               url: 'http://pv.sohu.com/cityjson?ie=utf-8',               dat ...

  8. js通过IP地址获取所在城市

    话不多说,直接贴代码! 将这段代码运行一下就OK了: <html xmlns="http://www.w3.org/1999/xhtml"> <head runa ...

  9. php ip 城市,php如何根据IP地址获取所在城市

    本文主要和大家分享php如何根据IP地址获取所在城市,本文主要以代码的形式,希望能帮助到大家.<?php header('Content-Type:text/html;Charset=utf-8 ...

最新文章

  1. 安装hadoop图文
  2. 测试结果分析_9种国内外纺织品耐摩擦色牢度测试方法结果分析
  3. rs485调试软件_【乐创“芯”说】你想知道的RS485
  4. 关于自绘CListBox的一些疑惑
  5. 显示画面 大华摄像头_大华乐橙智能锁荣获2020房地产首选供应商前十强
  6. 技术解读丨GaussDB数仓高可用容灾利器之逻辑备份
  7. python描述器descriptor_python装饰器decorator、描述器descriptor
  8. linux shell实现守护进程 看门狗 脚本
  9. 【富文本】解决会声会影、PR、AE处理视频后过大的问题(三款工具)专业视频压制软件|专业视频压制神器下载
  10. 【HTML】HTML基础知识详解【2万字+代码实例+显示效果】
  11. JAVA金额大小写转换
  12. 解决:文件名太长删不掉
  13. python缺失值处理 fillna_python 处理缺失值
  14. 【DFS 水洼数目】
  15. 基于nodejs+vue+elementui酒店民宿客房预订管理系统
  16. java毕业设计学科竞赛管理系统Mybatis+系统+数据库+调试部署
  17. C++ 操纵算子原理
  18. Android aab转换为通用的apk
  19. 豆瓣即将上映电影爬虫作业
  20. 都有哪些应用程序可以在M1 Mac上运行?

热门文章

  1. 利用WPF InkCanvas水墨控件圈选移动笔画
  2. pdf在线转化为扫描件的简单方法
  3. VSC/SMC(七)——基于高增益观测器的滑模控制(含程序模型)
  4. oldboy的视频和江民防火墙有冲突吗?
  5. 2018年手机应用UI设计趋势预测
  6. long long,long,int
  7. 【i.MX6ULL】驱动开发2——新字符设备开发模板
  8. centos7 制作U盘
  9. NXP NTP53321 NTAG芯片简单使用
  10. 你我皆是八九点钟的太阳,而非某人于《周刊》之所谓“小镇做题家”