核心用法
My Weather 是一个基于 wttr.in 的命令行天气工具,无需注册 API 密钥即可使用。通过简单的 HTTP 请求获取全球任意地点的实时天气数据,特别适合终端用户和脚本自动化场景。
基础查询
curl -s "wttr.in/78023?format=3" # 邮编 curl -s "wttr.in/London?format=3" # 城市名 curl -s "wttr.in/JFK?format=3" # 机场代码
输出控制
?format=3- 紧凑单行输出(推荐)?format=- 自定义格式变量(如%l地点%c天气图标%t温度)?T- 完整 ASCII 艺术预报?0/?1- 仅当前/仅今天
单位切换
?m- 公制(默认,°C、km/h)?u- 美制(°F、mph)
显著优点
1. 零配置即用 - 无需 API key、账号注册或依赖安装,单条 curl 命令即可工作
2. 智能定位识别 - 支持模糊匹配:城市名、邮政编码、IATA 机场代码自动解析
3. 终端原生体验 - 输出包含 Unicode 天气图标,与终端环境无缝融合
4. 高度可定制 - format 参数支持 20+ 变量,轻松嵌入脚本或状态栏
5. 隐私友好 - 无需提交个人位置权限,IP 不会被强制用于定位
潜在缺点与局限性
- 网络依赖 - 必须能访问 wttr.in,内网/离线环境不可用
- 速率限制 - 免费服务存在隐式请求频率限制,高频调用可能触发 503
- 精度边界 - 邮编解析依赖 GeoNames 数据,部分偏远地区可能偏移
- 无历史数据 - 仅支持当前及预报,不提供过去天气查询
- 格式稳定性 - 自定义 format 的变量名可能随服务更新变动
适合人群
- 终端/命令行重度用户(开发者、DevOps、SRE)
- 需要轻量天气数据的脚本和自动化工作流
- 追求极简工具、拒绝安装冗余应用的效率型用户
- 在服务器/容器环境中快速获取天气信息的场景
常规风险
| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| 服务可用性 | wttr.in 为个人维护项目,可能间歇性不可用 | 生产场景添加超时和 fallback |
| 数据准确性 | 数据源为 OpenWeatherMap/其他聚合,极端天气可能有延迟 | 关键决策参考官方气象机构 |
| 隐私泄露 | 查询内容通过 URL 明文传输,可能被日志记录 | 避免在查询中嵌入敏感坐标 |
| 依赖单一服务 | 无官方 SLA,长期维护存不确定性 | 关键业务准备备用方案 |
---
评估基准:2024 年 wttr.in 服务状态,功能基于公开文档及实测验证