需要一个每日5万次的IP查询服务,目前市面上的IP查询服务,大多很贵,这个有2个办法可以解决。
- 用大量的代理池请求,进行查询
- 用免费的纯真数据库进行查询
本次使用ip-database项目,搭配纯真数据库的IP库,搭建可靠的本地IP查询服务,感谢纯真库,提供持久免费的更新。
项目地址 https://github.com/itbdw/ip-database
服务端操作系统 Debian 9
安装php服务
root@debian:~# apt-get install php
下载项目之后,随意测试一个IP,看是否可以运行 root@debian:~/ip-database-2.0.9/tests# php ip.php -i 101.84.1.1 {"ip":"101.84.1.1","country":"中国","province":"上海","city":"","county":"","isp":"电信","area":"中国上海电信"} root@debian:~/ip-database-2.0.9/tests#
纯真IP数据库 DAT文件更新 https://github.com/out0fmemory/qqwry.dat/archive/refs/heads/master.zip
把上面的封装到API里面,API地址为 http://198.211.9.196:41011/IPService ,参数为ip,封装的纯真数据库的版本v20210902,本地API文件run_IP_LOOKUP.py
请求示例1,请求一个国内IP地址的信息:
curl http://198.211.9.196:41011/IPService?ip=101.84.1.1 CN-上海-电信
请求示例2,请求一个海外IP地址的信息:
curl http://198.211.9.196:41011/IPService?ip=17.57.145.0
美国
请求示例3,请求一个错误的IP地址:
curl http://198.211.9.196:41011/IPService?ip=1.2.3.400
404