卷曲Wttr.in

2020-06-26 09:56:58

in是一个面向控制台的天气预报服务,它支持各种信息表示方法,如控制台HTTP客户端(cURL、HTTPI或wget)的面向终端的ANSI序列、Web浏览器的HTML或图形查看器的PNG。

您可以通过Shell或Web浏览器访问该服务,如下所示:

$curl wttr.in城市天气:法国巴黎\/晴朗。-.10-11°C-()-↑11公里/小时`-‘10公里/\0.0毫米。

(这不是你的实际位置--GitHub的CDN用自己的IP地址隐藏了你的真实IP地址,但它仍然是用你的语言发布的实时天气预报。)。

想要获取特定位置的天气信息吗?您可以将所需位置添加到请求中的URL,如下所示:

如果省略位置名称,您将获得基于您的IP地址的当前位置报告。

使用3个字母的机场代码获取某机场的天气信息:

$curl wttr.in/muc#国际航空运输协会的天气:德国慕尼黑国际机场MUC$curl wttr.in/ham#国际航空运输协会的天气:火腿,德国汉堡机场

比方说,你想要了解一个城镇或城市以外的地理位置的天气--也许是一个城市、一个山名或某个特殊地点的一个吸引人的地方。在名称前添加字符~,以便在随后检索天气之前查找该指定分配名称:

对于这些示例,您将在天气预报输出下面看到一条线,它显示了查找位置的地理位置结果:

位置:станцияВосток,AAT,南极洲沃斯托克站[-78.4642714,106.8364678]地点:法国阿纳托尔大道5号,格罗斯-凯洛,7E,巴黎,法兰西岛,75007,法国[48.8582602,2.29449905432]地点:坦桑尼亚北部乞力马扎罗[-3.4762789,37.3872648]。

您还可以使用IP地址(直接)或域名(前缀为@)指定位置:

默认情况下,USCS单位用于来自美国的查询和世界其他地区的公制查询。您可以通过向URL添加“U”或“M”来覆盖此行为,如下所示:

根据User-Agent字符串选择ANSI和HTML格式。可以通过在查询末尾添加.png来强制使用PNG格式:

您可以将所有选项与png格式一起使用,就像在URL中一样,但是您必须用_而不是?分隔它们。和&;:

当使用天气PNG向图片添加天气数据时,透明度是一个有用的功能:

您可以使用wtr-switcher将一个特殊的wttr.in小部件嵌入到HTML页面中,该小部件显示当前或选定位置的天气状况。这就是它看起来的样子:wtr-Switcher-示例或在现实世界的网站上:https://feuerwehr-eisolzried.de/.。

可用的预配置格式:1、2、3、4和使用百分比表示法的自定义格式(见下文)。

$curl-s&39;wttr.in/{纽伦堡,汉堡,柏林}?格式=3';纽伦堡:🌦+11⁰昌堡:🌦+8⁰C柏林:🌦+8⁰C。

c天气条件,C天气条件文字名称,h湿度,t温度(实际),f温度(感觉像),w风,l位置,m月相🌑🌒🌓🌔🌕🌖🌗🌘,M月日,p降水量(Mm),o降水概率,P气压(百帕),D黎明*,S日出*,z天顶*,s日落*,d黄昏*。(时间显示在当地时区)。

$curl wttr.in/London?Format=3伦敦:⛅️+7⁰C$curl wttr.in/London?Format=";%l:+%c+%t";伦敦:⛅️+7⁰C。

请记住,在tmux.conf中使用时,必须将%转义为%,即在那里写入%%而不是%。

在自动查询服务的程序(如tmux)中,最好使用一些合理的更新间隔。在tmux中,您可以使用status-interval对其进行配置。

如果在查询中指定了几个、:分隔的位置,请将更新周期指定为附加查询参数PERIOD=:

对于Emoji字体,我们推荐Noto Color Emoji,一个很好的选择是Emoji One字体;这两种字体都支持所有必要的Emoji字形。

$cat~/.config/fonts.cong/fonts.conf<;?xml版本=";1.0";编码=";UTF-8";?>;<;!DOCTYPE字体配置系统";fonts.dtd&34;>;<;fontconfig>;<;别名>;<;family>;serif&。/首选>;<;/alias>;<;alias>;<;family>;sans-serif<;/family>;<;首选>;<;家族>;Noto Color Emoji<;/family>;<;/首选>;<;/alias>;<;/alias>;<;别名>;<;Noto Color Emoji<;/Family>;<;/Preference>;<;/alias>;<;/fontconfig>;

在视图代码v2下提供的实验数据丰富的输出格式中,可以获得大量额外的天气和天文信息:

根据您的配置,您可能采取所有步骤,也可能只采取几个步骤。目前URXVT不支持与表情符号相关的字体,但我们可以使用Font-Symbola获得几乎相同的效果。因此,将以下行添加到您的.Xresources文件:

您可以将其添加到首选字体之后,只有在需要时才会显示。然后,如果您看到或感觉自己遇到了间距问题,请添加以下内容:URxvt.letterSpace:0出于某种原因,URXVT有时会停止决定正确的单词间距,我们需要强制执行此操作。

JSON格式是一种功能,它通过易于解析的格式提供对wttr.in数据的访问,而不需要用户创建复杂的脚本来重新解释wttr.in的图形输出。

这将以JSON格式获取有关底特律地区的信息。J1格式代码用于允许将其他布局用于JSON输出。

{";Current_Condition";:[{";FeelsLikeC";:";25";,";FeelsLikeF";:";76";,";Cloudcover";:";100";,";湿度";:";76";,";观察时间";:&。,";沉淀MM";:";0.2";,";压力";:";1019";,";温度_C";:";22";,";温度_F";:";72";,";uvIndex";:5,";可见性";:";16&##。,";weatherCode";:";122";,";weatherDesc";:[{";value";:";overcast";}],";weatherIconUrl";:[{";value";:";";}],";windir16Point";:";nne&#。windirDegree";:";20";,";winspeedKmph";:";7";,";winspeedMiles";:";4";}],.

除了weatherCode之外,这些值中的大多数都是不言而喻的。weatherCode是一个枚举,您可以在WorldWeatherOnline网站或wttr.in源代码中找到它。

Prometheus Metrics格式是一种功能,可通过易于解析的格式为监控系统提供对WTR.IN数据的访问,而无需用户创建复杂的脚本来重新解释WTTR.IN的图形输出。

这将以普罗米修斯指标格式获取有关底特律地区的信息。p1格式代码用于允许使用普罗米修斯公制输出的其他布局。

#Help Temperature_Feel_Like_摄氏度感觉像Celsiustemperature_feels_like_celsius{forecast=";current";}7中的温度#Help Temperature_Feel_Like_Fahrenheit感觉像Fahrenheittemperature_feels_like_fahrenheit{forecast=";current";}45中的温度[截断]。

wttr.in还可以用来检查月相。此示例说明如何在完全输出模式下查看当前月相:

对于某些字体,🌘的表示是模棱两可的,因为它看起来要么几乎是阴影的,要么几乎是亮的,这取决于你的终端是亮模式还是暗模式。依靠彩色字体(如Noto-Fonts)可以解决此问题。

代表🌘也是模棱两可的,因为它在北半球的意思是最后一个季度,但在南半球是第一季度的意思。在热带地区,它也不意味着什么。这是Unicode知道的一个限制,但是在wttr.in中还没有解决这个问题。

有关相应的跟踪问题,请参见#247、#364,有关Pyphoon的信息,请参阅Pyphoon#1。欢迎任何帮助。

in支持可以用世界上任何语言指定的多语言地点名称(这可能令人惊讶,但世界上许多地点都没有英文名称)。

查询字符串应以Unicode(十六进制编码或非十六进制编码)指定。查询字符串中的空格必须替换为+:

$curl wttr.in/станция+Восток天气报告:станцияВосток阴天。-65--47°C。-()。↑23公里/小时(_.__)__)15公里0.0毫米。

用于输出的语言(位置名称除外)不依赖于输入语言,它要么是英语(默认情况下),要么是在查询标头中指定的浏览器的首选语言(如果查询是从浏览器发出的)(Accept-Language)。

使用Console客户端时,可以使用如下命令行选项显式设置语言:

第三个选项是使用查询中使用的DNS名称选择语言:

wttr.in目前被翻译成54种语言,而且支持的语言数量还在不断增加。

请参阅/:翻译以了解有关翻译过程的更多信息,查看支持的语言和贡献者列表,或了解如何帮助将wttr.in翻译为您的语言。

当前存在两个与Windows相关的问题,它们会阻止本页上的示例开箱即用,无法完全按照预期工作。在微软解决这些问题之前,有几个解决办法。要绕过这两个问题,您可以在Windows Subsystem for Linux(WSL)上使用诸如bash之类的shell,或者继续阅读其他解决方案。

当前的Win32版本的cURL是有限制的。在未来的Windows版本中解决并推出Win32 cURL问题之前,建议您改用Powershell的Invoke-Web-Request命令:

第二个问题与某些Windows终端应用程序(如默认的conhost.exe)使用的对角箭头图示符的宽度有关。在撰写本文时,ConEmu.exe、ConEmu64.exe和构建在ConEmu之上的终端应用程序(如Cmder(cmder.exe))默认使用这些双宽字形。所有这些程序的结果都是一样的,要么是某些风向缺少字符,要么是输出中的表格损坏,或者两者兼而有之。某些第三方终端应用程序已经解决了风向图示符问题,但修复方法取决于您使用的字体和终端应用程序。在终端应用程序中显示对角线风向图示符的一种方法是使用当前在Microsoft应用商店中提供的Windows终端。Windows终端目前是一个预览版,将在即将发布的版本中作为默认终端应用程序推出。如果使用Windows终端后输出仍有偏差,请尝试最大化终端窗口。另一种显示对角线风向的方法是使用正斜杠和反斜杠替换有问题的字符,如下所示。

如果您想以PNG文件格式获取天气报告,您还需要安装:

此外,您还需要安装Geoip2数据库。您可以使用可从(http://dev.maxmind.com/geoip/geoip2/geolite2/).)下载的免费数据库GeoLite2。

如果要对GeoLite2未覆盖的IP地址使用IP2Location服务,则必须获取该服务的API密钥,然后保存到~/.ip2location.key文件中:

如果您没有这个文件,该服务将被自动跳过(这不是一个大问题,因为MaxMind数据库非常好)。

拥有WorldWeatherOnline密钥后,可以将其保存到WWO密钥文件中:~/.wwo.key

配置以下环境变量,它们定义本地wttr.ininstall、GeoLite数据库和Wego安装的路径。例如:

建议您还配置将用于访问该服务的Web服务器:

server{Listen[::]:80;server_name wttr.in*.wttr.in;access_log/var/log/nginx/wttr.in-access.log main;error_log/var/log/nginx/wttr.in-error.log;Location/{Proxy_Pass http://127.0.0.1:8002;Proxy_Set_Header Host$HOST;Proxy_Set_Header X-Real-IP$Remote_Addr;Proxy_Set_Header X-Forwarded-for$Remote_addr。CLIENT_BODY_BUFFER_SIZE 128k;PROXY_CONNECT_TIMEOUT 90;PROXY_SEND_TIMEOUT 90;PROXY_READ_TIMEOUT 90;PROXY_BUFFER_SIZE 4K;Proxy_Buffers 4 32k;PROXY_BUSY_BUFFER_SIZE 64k