# ip-database **Repository Path**: njcx86/ip-database ## Basic Information - **Project Name**: ip-database - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: 2.x - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-12 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 说明 这套识别程序的数据库是免费IP数据库、IP离线地址库。输入IP,输出结构化的国家、省、市、县、运营商、地区信息) 0,该数据库识别是离线的。 1,该数据库基于纯真IP库,IP地址纠错相关请直接去纯真官网,下面有给出地址。纯真IP地址库,不可以用作商业用途,具体见 LICENSE。 2,纯真IP识别算法来源网络。 3,结构化程序来自我2012年的脑洞。 纯真IP已从03年开始存在多年且一直免费,实属不易。因为数据存储时,并不是结构化的,因此有误差在所难免。这个结构化程序,国内 ip 可以识别出省份,基本可以识别出市。运营商、县数据看运气。 ## 环境要求 PHP5即可,本地安装,无网络依赖,只需要 php 环境即可本地解析 ip。 ## 使用说明 仅安装2.x版本,保障兼容性 ``` composer require itbdw/ip-database ^2.0 ``` ```php //用框架(如 Laravel)不需要手动引入 //require 'vendor/autoload.php'; use itbdw\Ip\IpLocation; //支持自定义文件路径 $qqwry_filepath = '/abspath/qqwry.dat'; echo json_encode(IpLocation::getLocation($ip, $qqwry_filepath), JSON_UNESCAPED_UNICODE) . "\n"; //直接用附带的版本 echo json_encode(IpLocation::getLocation($ip), JSON_UNESCAPED_UNICODE) . "\n"; ``` ## 响应 成功 ```json { "ip": "163.177.65.160", "country": "中国", "province": "广东", "city": "深圳市", "county": "", "isp": "联通", "area": "中国广东省深圳市腾讯计算机系统联通节点" } ``` 异常 ```json { "error": "ip invalid" } ``` ## 测试 ``` php tests/ip.php php tests/ip.php -i 58.196.128.0 ``` ## 典型返回示例 ``` {"ip":"172.217.25.14","country":"美国","province":"","city":"","county":"","isp":"","area":"美国加利福尼亚州圣克拉拉县山景市谷歌公司"} {"ip":"140.205.172.5","country":"中国","province":"浙江","city":"杭州市","county":"","isp":"","area":"中国浙江杭州市阿里巴巴网络有限公司BGP数据中心"} {"ip":"123.125.115.110","country":"中国","province":"北京","city":"","county":"","isp":"联通","area":"中国北京北京百度网讯科技有限公司联通节点(BGP)"} {"ip":"221.196.0.0","country":"中国","province":"天津","city":"河北区","county":"","isp":"联通","area":"中国天津河北区联通"} {"ip":"60.195.153.98","country":"中国","province":"北京","city":"顺义区","county":"","isp":"","area":"中国北京顺义区后沙峪金龙网吧"} ``` ## 更新数据库 ### 附带的数据库文件更新日期 2020年9月30日更新 ### 在线直接更新(暂时无效,存在带宽压力限制了) 更新到源码目录 `php ~/bin/update-ip.php` 更新到指定目录 `php ~/bin/update-ip.php -d /tmp` ### 【或者】自己手动更新数据库 http://www.cz88.net/ip/ 下载数据库程序(Windows 环境),执行完毕后,即可在程序安装目录找到数据库文件 qqwry.dat 覆盖即可。 ## 赞助喝口水 这个项目也是多个日夜思考的结果,如果觉得对你有帮助,小手一抖也是感谢的。