搭建Whatportis REST API服务器:本地端口查询服务快速部署教程
【免费下载链接】whatportisWhatportis : explore IANA's list of ports项目地址: https://gitcode.com/gh_mirrors/wh/whatportis
Whatportis是一款轻量级的端口查询工具,能够帮助开发者快速查询IANA(互联网号码分配机构)维护的端口列表信息。通过搭建本地REST API服务器,你可以随时通过HTTP请求获取端口详细数据,无需依赖外部服务。本教程将带你完成从环境准备到服务器部署的全过程,即使是新手也能轻松上手。
准备工作:安装必要依赖
在开始部署前,确保你的系统已安装Python 3.6或更高版本。推荐使用虚拟环境隔离项目依赖:
# 创建并激活虚拟环境 python -m venv venv source venv/bin/activate # Linux/MacOS venv\Scripts\activate # Windows # 克隆项目仓库 git clone https://gitcode.com/gh_mirrors/wh/whatportis cd whatportis # 安装基础依赖 pip install . # 安装服务器组件(包含Flask框架) pip install whatportis[server]服务器功能依赖Flask框架实现API接口,相关代码位于whatportis/server.py文件中。
启动服务器:简单三步完成部署
1. 基本启动命令
通过项目提供的CLI工具可以快速启动服务器:
whatportis server默认情况下,服务器会在本地127.0.0.1:5000地址运行。你可以通过参数自定义主机和端口:
whatportis server --host 0.0.0.0 --port 80802. 验证服务器运行状态
启动成功后,打开浏览器访问http://127.0.0.1:5000/ports,你将看到所有端口数据的JSON格式响应。服务器启动逻辑在whatportis/cli.py中实现,通过导入Flask应用并调用app.run()方法启动服务。
3. 常见启动问题排查
如果遇到"Dependencies are missing"错误,请确保已安装服务器专用依赖:
pip install whatportis[server]若需要在生产环境部署,建议使用Gunicorn或uWSGI等WSGI服务器作为生产环境运行时。
API使用指南:轻松查询端口信息
Whatportis服务器提供两种主要API接口,满足不同查询需求:
1. 获取所有端口数据
请求示例:
curl http://127.0.0.1:5000/ports响应格式:
{ "ports": [ { "port": 80, "name": "http", "description": "World Wide Web HTTP", "protocol": "tcp" }, // 更多端口数据... ] }此接口对应whatportis/server.py中的all_ports()函数,通过调用get_database().all()获取完整端口列表。
2. 按关键词搜索端口
精确匹配查询:
curl http://127.0.0.1:5000/ports/http模糊匹配查询:
curl http://127.0.0.1:5000/ports/http?like=true模糊匹配功能通过request.args获取查询参数实现,相关代码位于whatportis/server.py。
高级配置:定制你的端口查询服务
1. 自定义服务器参数
在启动命令中指定主机和端口,实现局域网内访问:
whatportis server --host 0.0.0.0 --port 8080这里的host和port参数会传递给Flask的app.run()方法,如whatportis/cli.py所示:app.run(host=server[0], port=server[1])。
2. 集成到现有系统
你可以将Whatportis服务器作为微服务集成到现有开发环境中。端口查询核心逻辑位于whatportis/db.py,通过get_ports()函数实现高效的数据检索。
总结:打造你的本地端口查询利器
通过本教程,你已成功搭建Whatportis REST API服务器,掌握了基本的部署和使用方法。这个轻量级工具不仅能帮助你快速查询端口信息,还可以作为学习Flask框架和API开发的实践案例。无论是日常开发调试还是系统管理,Whatportis都能成为你的得力助手。
现在就启动服务器,体验本地端口查询的便捷吧!如果需要更多帮助,可以查看项目测试文件tests/test_cli.py中的示例代码,或研究whatportis/utils.py中的工具函数实现细节。
【免费下载链接】whatportisWhatportis : explore IANA's list of ports项目地址: https://gitcode.com/gh_mirrors/wh/whatportis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考