2 个版本
0.1.1 | 2023 年 3 月 19 日 |
---|---|
0.1.0 | 2023 年 3 月 19 日 |
#14 in #forecast
每月 24 次下载
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 不会自己实现这些规则,但它实现了 Tower 的 Service 特性,因此您可以使用 Tower 生态系统中的中间件来实现它们。请参阅 示例。最后,请参阅 服务条款 了解更多信息。
依赖关系
~4–19MB
~311K SLoC