首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏开源技术小栈

    PHP 离线 IP 定位 IP2region

    引言 今天,我们来聊聊一个专为PHP设计的强大工具——ip2region。它基于开源ip2region项目优化而来,提供企业级性能和灵活性,让开发者轻松实现本地IP查询。 如果您仅需 IPv4 查询功能,建议使用 V2 版本以获得更小的体积和更快的加载速度。 为什么选择离线IP定位? 想象一下,你的网站需要实时显示访客所在城市,但又不想每次都调用外部服务。 (自动生成) │ ├──ip2region_v4.xdb.part1 # IPv4 数据分片 │ └──ip2region_v6.xdb.part* # IPv6 数据分片(多个文件 tools/ 目录中的 ip2region_v4.xdb 和 ip2region_v6.xdb 是原始数据文件,仅用于分片工具 文件名必须严格按照 ip2region_v4.xdb 和 ip2region_v6 // 如需使用自定义数据,请参考下面的"自定义数据配置"部分 // $ip2region = new \Ip2Region('file', '/path/to/your/ip2region_v4

    59610编辑于 2025-10-20
  • 来自专栏程序员云帆哥

    使用强大的离线IP地址定位ip2region获取城市信息

    文章目录 一、简介 二、ip2region的使用 1、引入依赖 2、下载ip2region.db 3、IpUtils工具类 一、简介    ip2region - 准确率99.9%的离线IP地址定位, 0.0x毫秒级查询,ip2region.db数据只有数MB,提供了java、php、c、python、nodejs、golang、c#等查询绑定和Binary,B树,内存三种查询算法。 二、ip2region的使用 1、引入依赖 <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId /ip2region)下载,在项目的data目录下。 ; import org.lionsoul.ip2region.DbConfig; import org.lionsoul.ip2region.DbSearcher; import org.lionsoul.ip2region.Util

    6.9K20编辑于 2022-05-12
  • 如何部署IP离线实现批量高速无网络依赖的IP查询?

    我们平时处理IP相关需求都在用IP数据云,它不仅能提供在线高精度IP解析,还支持完整的IP离线方案,特别适合内网环境、批量处理这类对网络和稳定性要求较高的场景,让IP查询完全本地化、自主可控。 一、什么时候该部署IP离线?运维一眼就能判断对咱们运维来说,要不要上IP离线其实很好判断:只要业务涉及内网隔离、大批量IP解析、高并发查询,或者对数据合规性要求高,那优先部署离线准没错。 二、IP离线落地实操:三步搞定生产环境部署实际部署起来一点不复杂,下面这套流程我们团队已经跑通无数次,直接照抄就能上生产:1.第一步:获取并部署标准化离线文件先从官方渠道下载IP离线数据包,优先选. 2.第二步:本地加载与服务化封装把下载好的离线文件放到服务器固定目录(比如/data/ipdb/),用mmap内存映射的方式加载,避免频繁读写磁盘拖慢速度。 四、离线vs在线API核心对比表对比维度本地IP离线在线API查询网络依赖无,内网/隔离环境可用必须外网,断网不可用查询速度毫秒级,批量极快受网络、延迟、限流影响并发能力单机高QPS,自主可控有限额

    16210编辑于 2026-03-13
  • 来自专栏GitHub专栏

    开源:推荐一个不错的离线IP地址定位

    来源 | https://gitee.com/lionsoul/ip2region ip2region - 准确率99.9%的离线IP地址定位,0.0x毫秒级查询,ip2region.db数据只有数 ip2region的数据聚合自以下服务商的开放API或者数据(升级程序每秒请求次数2到4次): 01, >80%, 淘宝IP地址, http://ip.taobao.com/ 02, ≈10%, GeoIP , https://geoip.com/ 03, ≈2%, 纯真IP, http://www.cz88.net/ **备注:**如果上述开放API或者数据都不给开放数据时ip2region将停止数据的更新服务 体积小 包含了全部的IP,生成的数据文件ip2region.db只有几MB,最小的版本只有1.5MB,随着数据的详细度增加数据的大小也慢慢增大,目前还没超过8MB。 /data/ip2region.db文件 获取生成的ip2region.db文件覆盖原来的ip2region.db文件即可 默认的ip2region.db文件生成命令: cd ${ip2region_root

    7.3K11发布于 2020-07-22
  • 来自专栏喵了个咪的博客空间

    全球IP-GeoLite2-City

    [喵咪开源软件推荐(3)]全球IP-GeoLite2-City #w-blog博客 哈喽大家好啊!喵咪开源软件推荐(3)终于和大家见面了,这次我们来说说什么呢? 地址,每一个国家都分配的有一批IP地址并且也有专门维护IP地址的组织,看到这里大家也明白了对了我们今天就来推荐GenLite2这款IP数据给到大家... ,并且IP地址对相对免费的更新频繁,有钱的老爷们可以购买支持),这款IP数据是由 maxmind 进行维护的, GenLite2 提供的IP数据格式有两种一种是二进制DB文件,另外一种是csv 笔者在github找了一下几款可以使用到genip2的扩展如下 maxmind/GeoIP2-php oschwald/geoip2-golang maxmind/GeoIP2-java maxmind 具体的IP数据效果怎么样呢?

    6.2K70发布于 2018-03-02
  • 来自专栏云原生实验室

    Openshift 4.4 静态 IP 离线安装系列(一):准备离线资源

    本系列采用静态 IP 的方式安装 OCP 集群,如果你可以随意分配网络,建议采用 DHCP 的方式。 1. 离线环境 单独准备一台节点用来执行安装任务和离线资源准备,这台节点最好具备魔法上网的能力,以便可以同时访问内外网。我们称这台节点为基础节点。 需要部署一个私有镜像仓库,以供 OCP 安装和运行时使用,要求支持 version 2 schema 2 (manifest list),我这里选择的是 Harbor 2.0。 2. LOCAL_REPOSITORY : 镜像存储名称,使用 ocp4/openshift4。 PRODUCT_REPO 和 RELEASE_NAME 都不需要改,这些都是一些版本特征,保持不变即可。

    3K23发布于 2020-06-04
  • 来自专栏Debian中国

    开源 IP 地址定位 ip2region 1.9.0 发布

    ip2region 是准确率 99.9% 的 IP 地址定位,0.0x 毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua 的查询绑定和 Binary 、B 树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.9 更新如下: 数据升级至 2019/05/02 的版本,国外的数据增加了大量城市级别的数据,ip2region.db 增长到 7MB。 开源了 ip2region.db 的生成程序,目前提供了 java 语言的实现,在${ip2region_root}/maker 目录下,便于对 ip2region 的研究或者更改自定义生成配置等,后期会提供 下载地址: Gitee: lionsoul/ip2region/tree/v1.9.0-release Github: lionsoul2014/ip2region/releases/tag/v1.9.0

    5.1K30发布于 2020-01-21
  • Python 运用GeoIP2离线数据定位

    GeoIP2 是一个强大的离线数据,该数据库内定义并记录了目前所有主机的IP地址和所在位置,通过传入某个IP地址,即可精确的定位到主机的位置,再结合谷歌地图可完美的画出坐标。 IP地址精准识别: 通过wireshark抓取pcap数据包,然后使用geoip2模块实现对IP地址的精准解析。 模块下载地址: https://github.com/maxmind/GeoIP2-python 离线数据:https://www.maxmind.com/en/accounts/current/geoip >>> import geoip2.database>>> reader = geoip2.database.Reader('/path/to/GeoLite2-City.mmdb') >>> response 也可使用离线版地图: https://dl.google.com/dl/earth/client/advanced/current/googleearthprowin-7.3.2.exe #coding

    1.8K20编辑于 2022-12-28
  • 如何用离线秒筛“数据中心”IP段并自动封号?

    在实际风控体系中,注册机、工作室、批量爬虫、撞程序——绝大多数都来自数据中心/IDC/代理IP段,那么如何通过离线IP本地秒级筛选IDC段以及自动封号闭环,在高并发场景下实现稳定风控呢? 为什么必须用离线识别IDC IP?在风控场景下在IP查询+缓存很难顶! IDC IP是黑产最稳定的基础设施因为它成本低、可批量、可自动化、可快速更换,所以第一层快速筛选,几乎几乎是要先看是不是机房IP。一、离线IP选型要看5个维度不是所有离线都适合做风控。 二、核心技术:IP 段秒级匹配是怎么做的?真正决定性能其实是—IP段命中算法,主流实现有三种:方案一:二分查找(最常见)思路:1. 所有 IP 段按 start_ip 排序;2. 实现简单;2. 内存占用低;3. 适合百万级段注:绝大多数离线SDK其实都是这个方案。

    12010编辑于 2026-02-25
  • 【深度解析】在响应速度与数据安全上权衡在线IP查询API与本地IP离线

    今天我将从我的实际经验出发,结合真实压测数据,并以IP数据云、IPnews、IP2Location常见产品为例,系统分析在线IP查询API与本地IP离线的我的取舍逻辑。 2. 本地IP离线IP2Location DB(BIN 文件,本地加载)  典型离线IP数据方案,通过内存映射或索引结构进行查询。 本地离线压测结果产品 形态 平均耗时 P99 延迟 QPS IP2Location 本地 BIN ~0.15 ms~0.30 ms300 万 IP数据云本地离线~0.18 ms~0.35 API 形态  2. 离线形态  3. ,而是:架构确定性成本可控性合规主动权这,才是本地IP离线在大型系统中长期存在的根本原因,以上就是我以IP数据云、IPnews、IP2Location常见产品为例,系统分析在线IP查询API与本地IP

    25610编辑于 2025-12-23
  • 多语言技术栈如何共用IP离线?Java、Python、Go 的加载实践

    GDPR合规收紧后,必须把IP在线查询换成离线方案,结果发现同一个IP在三门语言里的加载方式完全不同,稍不注意就是几百毫秒的延迟差距。随着合规要求变严,IP离线正从“备选”变成“标配”。 像IP数据云这类离线产品开始成为企业首选,因为它们同时提供多语言SDK和优化的数据格式,降低了多技术栈的集成成本。 IP离线这种IO与计算混合的场景,它们的瓶颈各不相同。方案一:Java下的内存映射Java的痛点在于启动时间和堆内存。 纯Python解析IP慢到怀疑人生,商业的C扩展SDK能立刻提升性能。Go注意GC停顿。保持大块连续内存,避免产生大量小对象。日志不要记录IP原文。这是GDPR红线,离线的优势就是“用完即弃”。 IP离线正从“工具”变成“合规刚需”。根据行业调研及趋势分析,超过半数企业计划在未来两年内将IP处理从在线转向离线方案,以应对日益严格的合规要求。

    12810编辑于 2026-03-12
  • 来自专栏人人都是架构师

    Go每日一之111:ip2location

    这个,可以从IP地址快速查找国家,地区,城市,纬度,经度,邮政编码,时区,ISP,域名,连接类型,IDD代码,地区代码 等各种信息。 它使用IP2Location.com上提供的基于文件的数据,该数据是以ip为key,国家/城市/经纬度等信息为value 的一个映射表。 快速使用 步骤如下 IP2Location.com下载文件数据到本地 加载文件数据到代码 调用函数获取 国家/城市/经纬度 等数据 1. 总结 ip2location的使用非常简单,直接加载文件数据,调用相关函数即可。目前很多国家都推行GDPR政策,网站不允许记录ip等隐私信息,那么ip2location就有了巨大的使用空间。 参考资料 github.com/ip2location/ip2location-go IP2Location.com

    1.5K30编辑于 2023-09-30
  • 来自专栏快乐阿超

    ip解析ip2region

    ——陆陇其 https://github.com/lionsoul2014/ip2region 今天分享一个ip解析ip2region 这里相关的java实现: https://github.com/ lionsoul2014/ip2region/tree/master/binding/java maven依赖: <dependency> <groupId>org.lionsoul</groupId > <artifactId>ip2region</artifactId> <version>2.7.0</version> </dependency> 然后是完全基于文件的查询 import org.lionsoul.ip2region.xdb.Searcher; import java.io.*; import java.util.concurrent.TimeUnit; public } } 缓存整个xdb 我们也可以预先加载整个 ip2region.xdb 的数据到内存,然后基于这个数据创建查询对象来实现完全基于文件的查询,类似之前的 memory search。

    59510编辑于 2024-01-12
  • 来自专栏全栈程序员必看

    ip2long与long2IP 分析

    php $ip='47.93.97.127'; $long=sprintf("%u",ip2long($ip));//string(9) "794648959" 9位 var_dump($long ); echo "
    "; $ip='247.193.197.127'; $long=ip2long($ip);//int(-138295937) var_dump($long); echo "
    "; $ip='247.193.197.127'; $long2=sprintf("%u",ip2long($ip)); var_dump($long2); //string(10 ) "4156671359" 10位 echo "
    "; var_dump(long2ip($long2));//string(15) "247.193.197.127" $ip=’47.93.97.127

    58540编辑于 2022-07-07
  • 来自专栏跟牛老师一起学WEBGIS

    mapboxGL2离线化应用

    概述 mapboxGL升级到2的版本之后,用官方的引用token是必须要有的,为了能够离线使用,我们需要对源码做一定的修改后编译,本文讲述如何进行mapboxGL的离线应用。

    2.1K10编辑于 2021-12-06
  • 来自专栏量子化学

    离线安装PySCF-2.x

    本文介绍的是离线安装步骤,适合不允许联网或很难联网的内部节点。读者在开始编译前需确认自己机子上有gcc和g++编译器,有MKL数学,以及cmake软件。 这个文件夹从pyscf-2.0开始被移出,需要用户手动下载,安装方法见《离线安装PySCF-2.x-extensions》 https://gitlab.com/jxzou/qcinstall/-/blob 注意这点与下述(2)是不同的问题,不能混为一谈。 (2)如果运行时报错找不到mkl_def.so和mkl_avx2.so,可回到上述第5点中再次打开CMakeLists.txt文件,在-lmkl_avx后添加-lmkl_def -lmkl_avx2, (3)如果编译PySCF中途更换了任何相关的编译器或版本,应先在build/下执行make clean清理上次编译残留文件,然后再进行编译。

    1.7K10编辑于 2022-12-07
  • 来自专栏OpenFPGA

    IP新增10多个功能IP

    IP简介 一直想做一个可以供大家学习、使用的开源IP,类似OpenCores,OC上IP在领域内的IP很少,通用性强一点,所以作为OC的“补充”,所以做了一个开源IP,侧重点在领域的IP辅以工程或者仿真验证 ; 内具18个相位的7×7 FIR多相滤波器来提高视频质量; 支持2K及以上视频; 无需进行帧缓冲; 双线性和最近邻调整大小模式。 图2:视频缩放 FPGA 上的 Canny 边缘检测 Canny 边缘检测是一种用于视觉处理的多阶段算法,用于复杂视觉算法(例如车牌识别)的边缘处理。 然而,与 ASIC 实现相比,当前的 FPGA 实现具有以下优势:(1) 研究应用程序具有更大的通用性,例如当前的应用程序;(2) 在研究应用程序典型的有限生产量中成本更低。 FPGA制造商和第三方公司正在提出sqrt计算(x)的各种IP核心。但这些IP核心是几十年前开发的,通常没有考虑到最新一代FPGA的特性。因此,它们确实需要升级。

    1.2K50编辑于 2023-08-30
  • 来自专栏前端专精

    追踪数字足迹:通过API和离线查询IP地址的解决方案(详解带源码)

    对于个人,也能通过查询域名对应的ip地址,修改host文件从而实现对部分网站的顺利访问(比如github.com)。本文从在线查询、通过API查询和离线查询三种方式分享如何进行IP地址查询。 二、IP地址查询方法,附代码 个人少量查询可选择在线查询,对企业或平台,需要大量的IP地址查询,建议使用API或离线查询方式。 在线IP查询 API查询 离线查询 更新频率 实时更新 实时更新 依赖于数据更新频率,可选择日更、周更、月更等 批量查询 不能批量查询 支持大规模批量查询,取决于API服务的配额和限制 支持大规模批量查询 IP地址查询 在需要大规模查询或高效访问时,可以考虑使用本地缓存或IP离线。 这种方式可以在本地处理查询请求,减少对外部API的依赖 首先获取IP离线:https://www.ipdatacloud.com/?

    81410编辑于 2025-01-22
  • 跨境电商用户IP真实性评估:高精度查询与离线的融合策略

    因此,结合高精度IP地址查询定位和IP离线,成为提升评估准确性的关键技术路径。一、IP真实性评估的重要性在跨境电商中,用户IP地址不仅用于地理定位,还关联风险识别。 线上查询的局限性在于依赖网络连接,对于高并发或离线环境可能不适用。因此,结合离线成为补充方案。三、IP离线的关键作用IP离线IP数据本地化存储,支持离线查询,适用于大数据处理或内网环境。 结构清晰,在实际应用中,可将离线部署到服务器(如跨境电商的后台系统),用于IP分析、日志审计或用户行为分析。 四、线上查询与离线的融合应用在跨境电商系统中,建议采用混合策略:实时场景:使用线上API查询,获取最新IP数据,如风险评分或动态位置。批量处理:使用离线分析历史数据,识别模式或生成报告。 通过高精度IP地址查询定位和IP离线的结合,平台可实现快速、准确的IP验证。开发者可借助IP数据云等服务商提供的解决方案,构建稳健的IP评估系统,推动业务全球化发展。

    17510编辑于 2026-01-06
  • 来自专栏分布式爬虫

    8、web爬虫讲解2—urllib爬虫—ip代理—用户代理和ip代理结合应用

    0]) ip = str(data2['data'][0]['ip']) dkou = str(data2['data'][0]['port']) zh_ip = ip + ': (url).read().decode("utf-8") data2 = json.loads(data) # 将字符串还原它本来的数据类型 print(data2['data'][0]) ip = str(data2['data'][0]['ip']) dkou = str(data2['data'][0]['port']) zh_ip = ip + ':' + dkou print(zh_ip) # print(data2['data'][0]) ip = str(data2['data'][0]['ip']) dkou proxy = urllib.request.ProxyHandler({rst2: zh_ip}) # 格式化IP,注意,第一个参数,请求目标可能是http或者https,对应设置

    1.1K50发布于 2019-07-05
领券