IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
写在前面
前一段时间,微博、头条、抖音、知乎等各大互联网平台相继推出了“个人主页、评论显示 IP 属地,用户不能自己开启或关闭”的功能,那么这些平台是如何获取到用户的 IP 地址呢?
本文将从 IP 归属地的技术原理、实际应用场景、如何获取用户到 IP 地址等多方面为你讲透 IP 归属地查询。
技术原理
IP 归属地是利用大数据挖掘和大规模网络探测技术,对 IP 地址的基础信息和网络拓扑数据进行采集、处理, 结合IP 地址所在的应用场景与网络属性等因素,利用动态密度聚类算法和基于多层神经网络的 IP 地址定位算法,完成 IP地址地理位置定位。

实际应用场景
基于此,IP 归属地查询就有了非常多可以应用的场景,包括但不限于下面的场景:
- 网络安全监控:监控网络上的 IP 地址,并识别潜在的威胁来源和攻击者。
- 精准广告投放:获取用户的位置信息,并将广告精准地投放到目标用户所在的区县。
- 电商物流服务:识别用户的位置,从而提供更加精准的物流服务,包括快递配送、货物运输等。
- 城市服务优化:了解城市的人口分布和流动情况,并根据这些数据来优化城市服务,例如公共交通、医疗服务等。
- 疫情防控管理:识别疫情病例的来源和传播范围,以更好地管理和控制疫情。
- 金融风控:识别用户所在的区县,并根据这些数据来进行风险评估和预测。
- 地理位置信息分析:了解其客户的位置分布,从而更好地了解市场需求,并做出更加明智的商业决策。
获取用户的 IP 归属地
要获取用户的 IP 地址归属地,我们需要使用 IP 地址定位服务将 IP 地址映射到特定的地理位置来确定用户的大致位置。
我们有许多免费和付费的 IP 地址定位服务可供选择。其中一些服务包括:
- APISpace:提供包含 43 亿全量的 IPv4 的准确性高数据,包括运营商数据,分别有 高精版、区县级、城市级,IP归属地-IPv6城市级、**IP归属地-IPv6区县级**共 3 个版本,选择性比较多。
- IP2Location:它提供准确的IP地址定位,并可返回与用户相关的有用信息,例如国家,地区,城市,经度,纬度,邮政编码等。
- MaxMind:返回有关IP地址的详细信息,例如用户的国家,城市,邮政编码等。
具体接入示例
第一步、注册并获取API密钥
登录供应商平台并注册获取 API 密钥。一般来说,我们注册后都将获得一个 API 密钥或令牌,这是用于获取 IP 归属地的凭据。
以 APISpace 为例,首先我们点击 【 免费试用 】 后,完成登录注册

注册成功后,我们在页面导航菜单点击 【我的 API】进入 【访问控制】页面,即可看到平台提供的密钥。
一般来说注册成功后,都有一定的免费试用,试用过了我们可以在平台上购买更多的次数。

第二步、集成 API
获取API 密钥后,我们可以参考 API 供应商提供的文档或示例代码,在代码中集成通知 IP 归属地查询功能。
在APISpace 网站上,我们可以在 IP 归属地 详情页上,获取它的示例代码。

以 Python 为例的示例代码如下:
import http.clientconn = http.client.HTTPSConnection("eolink.o.apispace.com")payload = ""headers = {"X-APISpace-Token":"","Authorization-Type":"apikey"
}conn.request("GET","/ipguishu/ip/geo/v1/district?ip=1.45.124.145&coordsys=WGS84", payload, headers)res = conn.getresponse()data = res.read()print(data.decode("utf-8"))
第三步、测试 IP 归属地查询
我们在 IP 归属地的测试页面上,输入测试的 IP 地址,就可以看到返回的相关 IP 信息。

返回示例如下:
{"code": "Success","data": {"continent": "亚洲","country": "中国","zipcode": "100005","timezone": "UTC+8","accuracy": "区县","owner": "北京维瑞智盛软件开发有限公司","isp": "北京海讯达通信有限公司","source": "数据挖掘","areacode": "CN","adcode": "110101","asnumber": "45083","lat": "39.930941","lng": "116.409243","radius": "6.9215","prov": "北京市","city": "北京市","district": "东城区"},"charge": true,"msg": "查询成功","ip": "1.45.124.145","coordsys": "WGS84"
}
第四步、测试并部署代码并上线。
写在最后
通过 IP 归属地查询,我们可以精确获取到用户地址,无论对精确用户进行广告投放、或者对 IP 进行网络监控都至关重要。 APISpace 是国内一个相对较大的 API 供应平台,提供除 IP 类的接口,还有 OCR 识别类、天气预报查询类、短信类等接口,有兴趣的小伙伴可以去探索一下~
相关文章:
IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
写在前面 前一段时间,微博、头条、抖音、知乎等各大互联网平台相继推出了“个人主页、评论显示 IP 属地,用户不能自己开启或关闭”的功能,那么这些平台是如何获取到用户的 IP 地址呢? 本文将从 IP 归属地的技术原理、实际应用场…...
【K8S系列】深入解析Pod对象(二)
目录 序言 1.Volume 简单介绍 2 Projected Volume 介绍 2.1 Secret 2.1.1 yaml讲解 2.1.2 创建Pod 2.2 Downward API 2.2.1 yaml示例 2.2.2 Downward API 支持字段 3 投票 序言 任何一件事情,只要坚持六个月以上,你都可以看到质的飞跃。 在…...
从3千到3万,我的测试之路真的坎坷
其实测试行业未来发展之路是几乎所有关于软件测试工程师都会在意的话题,相信各位看官也很迷茫自己的发展路线。为了方便大家选择和比较,我也将我的经验和观点分享出来,以作参考。如果小伙伴们有更好的观点,欢迎分享和探讨…...
linux下使用system函数在程序中运行linux的shell命令
一、功能 linux下在程序中调用shell命令实现某个功能,比如拷贝命令cp 二、使用 添加头文件 #include <stdlib.h> 函数原型 int system(const char *command); 描述说明是system的调用过程: 使用fork创建一个子进程,子进程使用 execl 执…...
银行数字化转型导师坚鹏:银行业发展趋势及对人才的需求分析
数字化转型背景下银行业发展趋势及对人才的需求分析 ——洞察先机,重塑人才核心竞争力 课程背景: 数字化转型背景下,很多银行存在以下问题:不知道银行整体发展现状与发展趋势?不清楚金融科技对银行发展有什么影响&…...
NFS挂载
0、创建 mkdir /nfsdata mkfs.xfs /dev/vdb mount /dev/vdb /nfsdata 1、两边主机启动nfs服务 service nfs start 2、被挂载主机查看,文件系统是否可挂载 showmount -e 3、将被挂载主机,设置任何主机可挂载文件系统 vi /etc/exports /nfsdata (in…...
IDEA使用技巧
IntelliJ IDEA是一款流行的Java集成开发环境(IDE),它为开发者提供了许多有用的功能和工具来提高他们的工作效率和开发质量。直接使用IntelliJ IDEA就相当于节省了自己的时间,如果先使用其他编译器后来在使用IntelliJ IDEA会觉得非…...
自动化测试之一【接口测试总结】
本文主要分为两个部分:第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?第二部分:…...
科大奥瑞物理实验——傅里叶光学
实验名称:傅里叶光学 1. 实验目的: 加深对傅里叶光学中的一些基本概念和基本理论的理解,如空间频率空间频谱和空间滤波和卷积等。通过实验验证阿贝成像理论,理解透镜成像的物理过程,进而掌握光学信息处理实质。通过阿…...
mysql count(*)的性能如何?
文章目录 为什么会出现这种情况呢?如何优化count(*)性能?增加redis缓存加二级缓存多线程执行减少join的表改成ClickHousecount的各种用法性能对比为什么会出现这种情况呢? 在Mysql中,count(*)的作用是统计表中记录的总行数。 而count()的性能跟存储引擎有直接关系,并非所…...
gan实战(基础GAN、DCGAN)
一、基础Gan 1.1 参数 (1)输入:会被放缩到6464 (2)输出:6464 (3)数据集:https://pan.baidu.com/s/1RY1e9suUlk5FLYF5z7DfAw 提取码:8n89 1.2 实现 import t…...
使用C语言实现服务器/客户端的TCP通信
本文力求使用简单的描述说明一个服务器/客户端TCP通信的基本程序框架,文中给出了服务器端和客户端的实例源程序,本文的程序在ubuntu 20.04中编译运行成功,gcc版本号为:9.4.0 1. 前言 当两台主机间需要通信时,TCP和UDP是两种最常用的传输层协议,TCP是一种面向连接的传输协…...
AI模型训练推理一定要知道的事情
AI训练的算力要求 算力 模型训练需要大量计算资源,包括CPU( Central Processing Unit)、GPU(Graphical Processing Unit)、TPU(Tensor Processing Unit)等,其中GPU是最为常见的硬件加速器。另外还可以通过算法优化提高模型训练效率。例如分布式训练技术…...
SPSS27破解安装后,出现应用程序无法正常启动(0xc000007b)
破解完SPSS 27软件后,点击图标出现下图错误 可以尝试以下方法: 1. 在安装目录下找到VC开头的文件夹 2. 点击此软件进行修复 若修复完成,重新启动SPSS软件即可。 3. 若提示错误,显示如下界面,进行下面的方法j 4. 下…...
央企程序员写了重大bug,会造成用户个人信息泄露,领导已经知道了,需要赶紧跑路吗?...
开发过程中出现bug是很正常的事情,小bug无关紧要,可如果是重大bug该怎么办?一位央企程序员就陷入了这样的困境:因为自己没有考虑周全,不小心写了个重大bug,会造成用户个人信息泄露(用爬虫可以攻…...
day14—选择题
文章目录1.定义学生、教师和课程的关系模式 S (S#,Sn,Sd,Dc,SA )(其属性分别为学号、姓名、所在系、所在系的系主任、年龄); C ( C#,Cn,P# )(其属性分别为课程号、课程名、先修课)&a…...
翻转链表(力扣刷题)
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: 输入…...
JavaEE——锁相关
在开发过程中,如果需要开发者自主实现一把锁,就必须了解锁策略和锁的实现原理。 目录 锁策略 乐观锁和悲观锁 互斥锁和读写锁 轻量级锁和重量级锁 自旋锁和挂起等待锁 公平锁和非公平锁 可重入锁和不可重入锁 死锁 发生死锁的必要条件 synchr…...
C语言指针与数组 进阶
本章主要是补充 指针和数组方面的指示,把前面指针的知识补充下。参考前面的C语言基础—指针 C语言指针与数组 进阶用一级指针访问二维数组❗易错点: 不能直接指针变量数组名指向数组的指针1. 指向指针的指针2. 指向一维数组的指针 (*P)[4]—行指针二维数组名指针数组…...
Java连接SqlServer错误
Java连接SqlServer错误 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目…...
软考高项备考重点考点18:项目绩效域
一、历年真题分布 2023年5月 选择题3分 2023年11月 选择题3分 案例5分第1批,15分第3批,5分第4批 论文 75分 第2批 2024年5月 选择题3分 案例10分 第2批 2025年5月 选择题2分 论文 75分 第1批、第2批 二、备考重点…...
边缘部署模式:在边缘位置部署应用
边缘部署模式:在边缘位置部署应用 一、边缘部署概述 1.1 边缘部署的定义 边缘部署是指将应用或服务部署在靠近用户或数据源的边缘位置,以减少延迟、提高性能、降低带宽消耗并增强数据隐私保护。 1.2 边缘部署的价值 低延迟:减少数据传输延迟高…...
抖音批量下载终极解决方案:douyin-downloader免费开源工具完整指南
抖音批量下载终极解决方案:douyin-downloader免费开源工具完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fa…...
边缘TTS实战:本地部署高质量语音合成与性能优化指南
1. 项目概述:当TTS遇见边缘计算最近在折腾一个需要实时语音合成的项目,发现了一个挺有意思的仓库:travisvn/openai-edge-tts。这名字一看就很有料,把“OpenAI”和“Edge-TTS”这两个词组合在一起,背后指向的是一个非常…...
告别兼容性烦恼:在Vue/React项目中优雅集成sm-crypto国密算法(附IE9+解决方案)
告别兼容性烦恼:在Vue/React项目中优雅集成sm-crypto国密算法(附IE9解决方案) 国密算法作为国内信息安全领域的重要标准,在前端项目中的集成需求日益增长。然而,现代前端框架与老旧浏览器兼容性问题往往成为开发者的拦…...
过零电压比较器基础知识及Multisim电路仿真
目录 2.9 过零电压比较器 2.9.1 过零电压比较器基础知识 1.电路结构与核心定义 2. 工作原理 3. 核心特点与用途 2.9.2 过零电压比较器Multisim电路仿真 2. 仿真逻辑与工作原理 3. 波形解读(右侧瞬态分析结果) 摘要:过零电压比较器是一种阈值电压为0V的单限比较器,利…...
VSCode毛玻璃效果实现:CSS backdrop-filter原理与性能调优指南
1. 项目概述:当代码编辑器遇上毛玻璃美学如果你和我一样,每天有超过8小时的时间是在Visual Studio Code(以下简称VSCode)中度过的,那么你肯定不止一次地折腾过它的主题和外观。从默认的深色主题到各种炫酷的Material D…...
Docker Compose 镜像检测脚本(支持自动扫描 + 手动输入 YAML)
在日常运维中,经常会遇到这样一个问题: docker-compose 文件里定义了很多镜像,但本地是否已经存在不清楚 如果一个个 docker pull 或 docker images 去对比,会非常低效。 因此我们可以写一个脚本,自动解析 docker-com…...
利用示波器直方图功能低成本测量信号抖动的方法与实践
1. 项目概述:用直方图低成本测量抖动在嵌入式系统、高速数字接口乃至电机控制的设计与调试中,信号抖动(Jitter)的测量和分析是一个绕不开的坎。无论是为了确保通信链路的误码率,还是为了验证时钟信号的纯净度ÿ…...
免费AI聊天机器人部署指南:整合多模型与全栈技术实践
1. 项目概述与核心价值最近在折腾一些AI应用,发现很多朋友都想自己部署一个免费的、功能强大的聊天机器人,但要么被高昂的API费用劝退,要么被复杂的部署流程搞得头大。如果你也有同样的困扰,那么今天聊的这个项目——CNSeniorious…...
