#weather #forecast #api #met #yr

monsoon

Monsoon 是一个用于访问挪威气象研究所产生的天气数据的库。最显著的是,这些数据在 Yr.no 上使用。

2 个版本

0.1.1 2023 年 3 月 19 日
0.1.0 2023 年 3 月 19 日

#14 in #forecast

每月 24 次下载

MIT 许可协议

21KB
398

Monsoon

Monsoon 是一个用于访问由 挪威气象研究所 产生的天气数据的库。最显著的是,这些数据在 Yr.no 上使用。

示例

let monsoon = Monsoon::new("test.com [email protected]")?;

// Prague
let response = monsoon.get(50.0880, 14.4207).await?;
let body = response.body()?;

许可协议

  • MIT 许可协议

lib.rs:

Monsoon 是一个用于访问由 挪威气象研究所 产生的天气数据的库。最显著的是,这些数据在 Yr.no 上使用。

示例

use std::error::Error;
use monsoon::Monsoon;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
  let monsoon = Monsoon::new("test.com [email protected]")?;
  let response = monsoon.get(50.0880, 14.4207).await?;
  let body = response.body()?;
  dbg!(body);

  Ok(())
}

您需要正确地标识自己。在这种情况下,字符串 "test.com [email protected]" 将在每次请求的 User-Agent 中发送。

您还需要遵守每秒 20 次请求的速率限制,并尊重每个响应的 "Expires" 报头。Monsoon 不会自己实现这些规则,但它实现了 TowerService 特性,因此您可以使用 Tower 生态系统中的中间件来实现它们。请参阅 示例。最后,请参阅 服务条款 了解更多信息。

依赖关系

~4–19MB
~311K SLoC