首页 全国天气预报 全国天气预报示例代码 获取城市[C#]

获取城市示例代码C#

作者: 阅读数:1132 上传时间:2025-04-01

获取城市

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

//await Weather.CityAsync();
class Weather
{
    // 替换成你的AppKey
    private const string AppKey = "YOUR_APPKEY_HERE";

    public static async Task CityAsync(string city, int cityid, string citycode, string location, string ip)
    {
        try
        {
            using (HttpClient client = new HttpClient())
            {
                // 构造请求URL
                string url = $"https://api.jisuapi.com/weather/city?appkey={AppKey}";

                // 发送GET请求
                HttpResponseMessage response = await client.GetAsync(url);
                
                // 确保成功响应
                response.EnsureSuccessStatusCode();

                // 读取响应内容
                string responseBody = await response.Content.ReadAsStringAsync();
                JObject result = JObject.Parse(responseBody);

                // 处理API返回状态
                if ((int)result["status"] == 0)
                {
                    // 解析信息
                    JToken data = result["result"];	
                    foreach (var item in data)
                    {
                        Console.WriteLine($"城市ID:{item["cityid"]} {item["parentid"]} {item["citycode"]} 城市:{item["city"]}");
                    }
                }
                else
                {
                    Console.WriteLine($"查询失败:{result["status"]} {result["msg"]}");
                }
            }
        }
        catch (HttpRequestException ex)
        {
            Console.WriteLine($"请求异常:{ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发生错误:{ex.Message}");
        }
    }
	
	static async Task Main(string[] args)
    {
        //await CityAsync();
    }
}