本项目是一个基于Flask构建的API服务,通过从不同的IP数据源( ipshudi
和 ip138
)查询指定IP地址的相关信息,并返回详细的数据。用户还可以选择从多个数据源中获取响应速度最快的结果。此外,查询过的IP地址信息会被存储在本地文件中,以加快后续查询速度。
-
查询
ipshudi
数据
通过ipshudi
数据源查询指定IP的归属地、运营商等相关信息。- 请求方式:
GET /api/ipshudi/<ip>
- 示例返回数据:
{ "iP地址": "43.74.80.82", "归属地": "新加坡", "运营商": "阿里云", "iP类型": "数据中心" }
- 请求方式:
-
查询
ip138
数据
通过ip138
数据源查询指定IP的ASN归属地、运营商等相关信息。- 请求方式:
GET /api/ip138/<ip>
- 示例返回数据:
{ "ASN归属地": "新加坡", "运营商": "阿里云", "iP类型": "数据中心" }
- 请求方式:
-
查询最快响应的数据源
通过多个数据源并发查询IP信息,返回响应时间最快的数据源结果。- 请求方式:
GET /api/ip/<ip>
- 示例返回数据:
{ "归属地": "新加坡", "运营商": "阿里云", "iP类型": "数据中心" }
- 请求方式:
app.py
:主程序文件,包含Flask应用逻辑和API接口的实现。index.html
:简单的前端页面,提供IP查询的接口文档与在线体验功能。ip_history.txt
:用于存储查询过的IP地址及其对应的数据源信息,以便后续加速查询。
-
克隆仓库到本地:
git clone https://github.com/Rensr0/IPInfo-api.git cd IPInfo-api
-
安装依赖:
pip install -r requirements.txt
-
运行服务:
python app.py
-
打开浏览器,访问 http://127.0.0.1:5000 查看API文档与体验在线查询功能。
欢迎提交issue或PR来改进此项目。如果你发现了任何问题或有新的想法,请随时联系我。
此项目使用 MIT License 授权。