Skip to content

Au403/Qweather-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

和风天气命令行查询工具

基于和风天气API开发的命令行天气查询工具,支持通过城市名称查询实时天气信息。

功能特性

  • 🔍 模糊城市搜索(支持中文/拼音)
  • 🌦️ 实时天气数据获取
  • 🔐 自动JWT Token生成(EdDSA算法)
  • 🗺️ 多级行政区划显示(省/市/)
  • ⚡ 5分钟Token自动刷新

文件结构

Qweather-cli/
├── main.py          # 主程序入口
├── geo_api.py       # 城市搜索模块
├── weather_api.py   # 天气查询模块
├── jwt_token.py     # JWT生成模块
└── requirements.txt # 依赖列表

快速开始

前置要求

  1. 注册和风天气账号:开发者控制台
  2. 生成Ed25519密钥对:
openssl genpkey -algorithm ED25519 -out ed25519-private.pem \
&& openssl pkey -pubout -in ed25519-private.pem > ed25519-public.pem
  1. 创建项目并上传ed25519-public.pem获取:
    • 项目ID (sub claim)
    • 凭据 ID (kid header)

安装步骤

  1. 克隆仓库

    git clone https://github.com/Au403/Qweather-cli.git
    cd Qweather-cli
  2. 安装依赖

    pip install -r requirements.txt
  3. 配置密钥

    # 将生成的私钥文件放入项目根目录
    cp /path/to/ed25519-private.pem ./
  4. 修改配置 (编辑jwt_token.py

    # jwt_token.py
    payload = {
        'sub': 'YOUR_SUB_ID'  # 替换为你的项目ID
    }
    headers = {
        'kid': 'YOUR_KEY_ID'      # 替换为你的凭据 ID
    }

    (编辑main.py)

    API_HOST = "https://your_api_host"   #替换为你的API Host

使用示例

# 启动程序
python main.py

# 交互示例
请输入城市名称 (q退出): 杭州

🔍 找到以下城市:
1. 杭州 (浙江省/杭州), 中国
2. 萧山 (浙江省/杭州), 中国
3. 桐庐 (浙江省/杭州), 中国
4. 淳安 (浙江省/杭州), 中国
5. 建德 (浙江省/杭州), 中国

请选择城市编号(1-5): 1

🌆 城市:杭州 (浙江省)
🕒 观测时间:2025-04-08T20:50+08:00
🌡 温度:23℃ (体感 23℃)
🌈 天气:多云 (151)
🌪 风力:东南风 1级
💧 湿度:40%
👁 能见度:15公里
📡 数据源:QWeather

依赖项

  • Python
  • requests
  • PyJWT
  • cryptography

授权许可

本项目基于 MIT License 发布,使用API数据请遵守和风天气开发者协议

相关资源

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages