先获取ip地址

$login_ip = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$login_ip = ($login_ip) ? $login_ip : $_SERVER["REMOTE_ADDR"];

用获取的IP地址通过网络接口获取ip归属地信息

function get_ip_city($ip)
{$ch = curl_init();$url = 'https://whois.pconline.com.cn/ipJson.jsp?ip=' . $ip;//用curl发送接收数据curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//请求为httpscurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$location = curl_exec($ch);curl_close($ch);//转码$location = mb_convert_encoding($location, 'utf-8', 'GB2312');//var_dump($location);//截取{}中的字符串$location = substr($location, strlen('({') + strpos($location, '({'), (strlen($location) - strpos($location, '})')) * (-1));//将截取的字符串$location中的‘,’替换成‘&’   将字符串中的‘:‘替换成‘=’$location = str_replace('"', "", str_replace(":", "=", str_replace(",", "&", $location)));//php内置函数,将处理成类似于url参数的格式的字符串  转换成数组parse_str($location, $ip_location);// return $ip_location['addr']; # 返回字符串return $ip_location; # 返回数组
}

测试

echo "<pre>";
var_dump(get_ip_city($login_ip));

结果

PHP获取ip及归属地信息相关推荐

  1. C# 获取IP地址、主机信息(Host)、浏览器信息

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  2. 根据ip查询归属地信息

    在使用ip2region的过程中本地可以正常使用,但在测试环境中出现java.lang.ArrayIndexOutOfBoundsException,未找到良好的解决方案,所以使用了下面的方法 下面是 ...

  3. PHP调用外部服务获取IP地域信息实现信息的地域性关联

    最近项目要求地域分布信息显示,就对IP及省市信息进行了下了解. 使用了如下2个方案来实现,用户周边信息的获取实现 1.使用了IP库,纯真IP库,可是数据库更新比较慢,文件庞大,相对所需要的资源占用较多 ...

  4. 获取ip地址解析归属地

    本文目的: 通过分析ip地址归属地解析过程,分享探究问题的基本步骤,逐步认识基础知识的重要. 声明一下: 基于本人知识视野,个人理解能力的限制,文中难免有不当之处,敬请理解. 大家都知道,网上有很多可 ...

  5. php基于新浪ip库获取城市,PHP基于新浪IP库获取IP详细地址的方法

    [导读]这篇文章主要介绍了PHP基于新浪IP库获取IP详细地址的方法,涉及php正则.curl及编码转换相关操作技巧 本文实例讲述了PHP基于新浪IP库获取IP详细地址的方法.代码如下<?php ...

  6. IP地址归属地在线查询平台

    一.项目介绍 1.背景 根据IP得到位置,加标签 进行大数据分析,比如淘宝推荐等提供优质数据 www.ip.cn 等 查询IP 2.需求 IP 分析 归属地信息 , 查找在毫秒内完成 IP地址库,公网 ...

  7. headerIP php_PHP使用curl伪造IP地址和header信息

    curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...

  8. 【更新】关于VMware虚拟机无法正常获取IP地址问题的解决方法及思路

    目录 一.先从一个示例入手 二.为什么会出现网卡无法正常获取IP地址的情况?这种时候该如何解决呢? 1. 原因 2. 解决方法 2.1. VMware程序出现bug 2.2. VMware的虚拟网络编 ...

  9. linux主ip地址 网络信息不可用,win10 安装虚拟机提示 主IP地址显示网络信息不可用...

    问题:在虚拟机详情下面显示 主ip地址:网络信息不可用 解决办法: 先root用户[root@dfhf~]#cd .. [root@dfhf/]#cd /etc/sysconfig/network-s ...

最新文章

  1. starling教程-纹理(Texture)
  2. hdu 1712(分组背包)
  3. MySQL(二)数据的检索和过滤
  4. windows下 mysql 转移data目录
  5. php jquery 源码,最新版jQuery 2.1.0完整
  6. 例子 类的定义与对象的创建 狗的例子
  7. Spring Boot基础学习笔记13:路径扫描整合Servlet三大组件
  8. CISSP 考证进度篇(持续监督中)
  9. 视频图像传输与显示(2)——彩色模拟电视广播制式NTSC、PAL和SECAM
  10. Maven – 父子 POM 示例
  11. Annotation(注释):基本Annotation
  12. 受到 1 万点暴击,二狗子被 DDoS 攻击的惨痛经历
  13. Python集合和字符串及练习
  14. Python数据分析 读书笔记
  15. c语言 跨子程序跳转,PLC的条件跳转,子程序调用等指令使用方法
  16. 北京理工大学-嵩天python语言程序设计-8-程序设计方法学
  17. LW-基于知识图谱的专利推荐系统设计与实现(分类号:TP311 单位代码:10422)观后总结
  18. 微信支付APIV3统一回调接口封装(H5、JSAPI、H5、App、小程序)
  19. 5月18号python考试题
  20. 【译】 Dart 2.12 发布,稳定空安全声明和FFI版本,Dart 未来的计划

热门文章

  1. crs-2632 crs-2674
  2. 虚拟光驱 daemon tools lite 4.4 下载 2011最新版
  3. 源码系列:基于FPGA的PS2通信电路设计(附源码)
  4. Atheros CSI Tool环境搭建之路由器配置记录---2022/03/22
  5. 【英语】克拉申博士的五大假说
  6. 51单片机——LED点阵屏(显示滚动画面)
  7. java 随机数种子_Java Random.setseed()设置随机数种子
  8. ar谱matlab实验,用MATLAB进行AR模型功率谱分析
  9. 【开源】基于Java+SpringBoot+Vue+ElementUI的超市管理系统
  10. 软件压力测试有哪些测试流程?软件测试报告收费情况