wttr.in面向控制台的可视化天气预报服务
wttr.in 是一个面向控制台的天气预报服务,支持各种信息表示方法,例如用于控制台 HTTP 客户端(curl、httpie 或 wget)的面向终端的 ANSI 序列、用于 Web 浏览器的 HTML 或用于图形查看器的 PNG。
wttr.in 使用 wego 进行可视化,并使用各种数据源显示天气预报信息。
用法
您可以从 shell 或 Web 浏览器访问该服务,如下所示:
$ curl wttr.in Weather for City: Paris, France \ / Clear .-. 10 – 11 °C ― ( ) ― ↑ 11 km/h `-’ 10 km / \ 0.0 mm
这是您所在位置的实际天气报告(它是实时的!):
或者在 PowerShell 中:
Invoke-RestMethod https://wttr.in
想要获取特定位置的天气信息?您可以将所需位置添加到请求中的 URL 中,如下所示:
$ curl wttr.in/London $ curl wttr.in/Moscow $ curl wttr.in/Salt+Lake+City
如果省略位置名称,将根据你的 IP 地址获得当前位置的报告。
使用 3 个字母的机场代码来获取某个机场的天气信息:
$ curl wttr.in/muc # Weather for IATA: muc, Munich International Airport, Germany $ curl wttr.in/ham # Weather for IATA: ham, Hamburg Airport, Germany
假设您想获取城镇或城市以外的地理位置的天气 - 可能是城市中的景点、山名或某些特殊位置。在名称之前添加~
字符以在检索天气之前查找该特殊位置名称:
$ curl wttr.in/~Vostok+Station $ curl wttr.in/~Eiffel+Tower $ curl wttr.in/~Kilimanjaro
您还可以使用 IP 地址(直接)或域名(以@
为前缀)来指定位置:
$ curl wttr.in/@github.com $ curl wttr.in/@msu.ru
天气单位
默认情况下,来自美国的查询使用 USCS 单位,世界其他地区使用公制单位。你可以通过在URL中添加 "?u"、"?m" 或 "?M" 来覆盖这一行为,如图所示。
$ curl wttr.in/Amsterdam?u # USCS (used by default in US) $ curl wttr.in/Amsterdam?m # metric (SI) (used by default everywhere except US) $ curl wttr.in/Amsterdam?M # metric (SI), but show wind speed in m/s
支持的输出格式和视图
wttr.in 目前支持五种输出格式:
- 用于终端的 ANSI;
- 用于终端和脚本的纯文本;
- 用于浏览器的 HTML;
- 用于图形查看器的 PNG;
- 用于脚本和 API 的 JSON;
- 用于脚本和 API 的 Prometheus;
评论