最新要闻
- 天天亮点!大二男生靠打工奖学金穷游37城:没问家里要过1分钱
- 焦点热门:准备好钱包 比亚迪百万豪车仰望U8四天后开售:超跑U9一同亮相
- Redmi Note 12 Turbo首销过后还在狂卖!卢伟冰都没想到
- 变化极大的iOS 17要来了!苹果内测iOS 16.6系统:或为绝唱更新
- 今年五一档杀疯了 16部国产大片扎堆:好莱坞大片中国市场遇冷 不符合国人审美
- 世界看热讯:签约!年产45万吨,林州林钢将建亚洲单体最大铸管生产车间
- 世界微速讯:2023年百大影响力人物:马斯克、TikTok周受资等入榜
- 公司回应员工未及时回复收到被辞退:顶撞领导 不服从管理
- 【全球时快讯】量旋科技进军超导量子计算!三大新品、软硬件全流程搞定
- 世界最资讯丨3年前老机型没被抛弃!一加8系列官宣适配ColorOS 13.1
- 男子机动车道上骑鸵鸟还拍视频炫耀:系养殖基地训练师、已被处理
- 世界百事通!16岁女孩骑摩托载21岁女伴不幸遇难,生前网友曾劝“危险”被怼
- 聚焦:山西焦化:公司2023年第一季度报告预约披露时间为2023年4月25日
- 世界关注:荣耀推“三叉戟” 赵明:笔记本过去30年没啥变化 需要跃迁
- 【全球新要闻】比理想L8 Air便宜3万多 魏牌蓝山四驱版值得买吗?一文看懂
- 240Hz高刷屏+RTX40显卡!微星星影15游戏图赏
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
.NET7使用HttpClient实现查询天气预报接口
朋友做网站需要根据城市展示天气预报,找了一圈没有找到靠谱的接口,今天在中央气象台的官网查询某个城市找到了接口,先用postman试了一下居然可以使用,可以查询某个城市7天的天气预报等信息。但是查询编码是气象台自己的编码,在网上搜索了一下居然有这个编码。本文使用HttpClient方法查询这个接口。
天气接口
城市编码
(资料图片仅供参考)
HttpClient是.net core平台最常用的http请求工具,它直接基于Socket开发,提供了异步友好的代码编写方式,它在System.Net.Http命名空间下。
一、新建环境
首先新建一个.NET7Asp.net core webApi程序。如下选项。
二、在控制器中新建GetWeather
我们这里用get方法请求,通过传入城市名查询天气预报,城市的名称和编码放到Dictionary,单独使用一个方法查询。代码如下:
[HttpGet(Name = "GetWeather")]publicasyncTaskGetWeather(stringcityName) {//编码查询单独使用了一个方法intcitycode=publicfun.GetKeys(cityName); using var client = new HttpClient(); //请求的基础地址,一般是域名 client.BaseAddress = new Uri("http://www.nmc.cn"); //在请求标头中,我们指定User-Agent client.DefaultRequestHeaders.Add("User-Agent", "CJAVAPY BOT"); client.DefaultRequestHeaders.Accept.Add( //设置accept标头,告诉JSON是可接受的响应类型 new MediaTypeWithQualityHeaderValue("application/json"));//实际请求地址 var url =$"rest/weather?stationid={citycode}&_=1672315767048";HttpResponseMessageresponse=awaitclient.GetAsync(url);//get请求 response.EnsureSuccessStatusCode();varresult=awaitresponse.Content.ReadAsStringAsync();//获取结果returnJsonResult(result);//返回json }
全国各个城市编码字典方法如下
public static class publicfun { public static int GetKeys(string key) { Dictionary dic = new Dictionary(); dic.Add("澳门", 45011); dic.Add("大兴安岭", 50442); dic.Add("黑河", 50468); dic.Add("齐齐哈尔", 50745); dic.Add("伊春", 50774); dic.Add("鹤岗", 50775); dic.Add("绥化", 50853); dic.Add("佳木斯", 50873); dic.Add("双鸭山", 50884); dic.Add("白城", 50936); dic.Add("哈尔滨", 50953); dic.Add("七台河", 50973); dic.Add("鸡西", 50978); dic.Add("阿勒泰", 51076); dic.Add("塔城", 51133); dic.Add("博州", 51238); dic.Add("克拉玛依", 51243); dic.Add("石河子", 51356); dic.Add("昌吉", 51368); dic.Add("伊宁", 51431); dic.Add("乌鲁木齐", 51463); dic.Add("吐鲁番", 51573); dic.Add("阿克苏", 51628); dic.Add("巴州", 51656); dic.Add("克州", 51704); dic.Add("喀什", 51709); dic.Add("和田", 51828); dic.Add("哈密", 52203); dic.Add("酒泉", 52533); dic.Add("张掖", 52652); dic.Add("金昌", 52675); dic.Add("武威", 52679); dic.Add("西宁", 52866); dic.Add("平安县", 52875); dic.Add("兰州", 52889); dic.Add("白银", 52896); dic.Add("同仁县", 52974); dic.Add("临夏", 52984); dic.Add("定西", 52995); dic.Add("包头", 53446); dic.Add("呼和浩特", 53463); dic.Add("大同", 53487); dic.Add("乌海", 53512); dic.Add("石嘴山", 53518); dic.Add("朔州", 53578); dic.Add("吴忠", 53612); dic.Add("银川", 53614); dic.Add("榆林", 53646); dic.Add("忻州", 53674); dic.Add("石家庄", 53698); dic.Add("太原", 53772); dic.Add("阳泉", 53782); dic.Add("邢台", 53798); dic.Add("固原", 53817); dic.Add("延安", 53845); dic.Add("临汾", 53868); dic.Add("长治", 53882); dic.Add("邯郸", 53892); dic.Add("安阳", 53898); dic.Add("平凉", 53915); dic.Add("铜川", 53947); dic.Add("运城", 53959); dic.Add("晋城", 53976); dic.Add("济源", 53978); dic.Add("焦作", 53982); dic.Add("新乡", 53986); dic.Add("鹤壁", 53990); dic.Add("牡丹江", 54094); dic.Add("通辽", 54135); dic.Add("四平", 54157); dic.Add("长春", 54161); dic.Add("吉林", 54172); dic.Add("赤峰", 54218); dic.Add("阜新", 54237); dic.Add("铁岭", 54249); dic.Add("辽源", 54260); dic.Add("锦州", 54337); dic.Add("盘锦", 54338); dic.Add("鞍山", 54339); dic.Add("沈阳", 54342); dic.Add("本溪", 54346); dic.Add("辽阳", 54347); dic.Add("通化", 54363); dic.Add("白山", 54371); dic.Add("张家口", 54401); dic.Add("承德", 54423); dic.Add("秦皇岛", 54449); dic.Add("葫芦岛", 54453); dic.Add("营口", 54471); dic.Add("丹东", 54497); dic.Add("北京", 54511); dic.Add("廊坊", 54515); dic.Add("天津", 54527); dic.Add("唐山", 54534); dic.Add("保定", 54602); dic.Add("沧州", 54616); dic.Add("大连", 54662); dic.Add("衡水", 54702); dic.Add("德州", 54714); dic.Add("滨州", 54734); dic.Add("东营", 54736); dic.Add("烟台", 54765); dic.Add("威海", 54774); dic.Add("聊城", 54806); dic.Add("济南", 54823); dic.Add("泰安", 54827); dic.Add("莱芜", 54828); dic.Add("淄博", 54830); dic.Add("潍坊", 54843); dic.Add("青岛", 54857); dic.Add("濮阳", 54900); dic.Add("菏泽", 54906); dic.Add("济宁", 54915); dic.Add("临沂", 54938); dic.Add("日照", 54945); dic.Add("噶尔县", 55437); dic.Add("日喀则", 55578); dic.Add("拉萨", 55591); dic.Add("合作", 56080); dic.Add("昌都县", 56137); dic.Add("绵阳", 56196); dic.Add("德阳", 56198); dic.Add("雅安", 56287); dic.Add("成都", 56294); dic.Add("资阳", 56298); dic.Add("林芝县", 56312); dic.Add("乐山", 56386); dic.Add("眉山", 56391); dic.Add("自贡", 56396); dic.Add("宜宾", 56492); dic.Add("昭通", 56586); dic.Add("丽江", 56651); dic.Add("攀枝花", 56666); dic.Add("六盘水", 56693); dic.Add("保山", 56748); dic.Add("大理", 56751); dic.Add("楚雄", 56768); dic.Add("昆明", 56778); dic.Add("曲靖", 56783); dic.Add("玉溪", 56875); dic.Add("临沧县", 56951); dic.Add("思茅", 56964); dic.Add("文山县", 56994); dic.Add("天水", 57006); dic.Add("宝鸡", 57016); dic.Add("西安", 57036); dic.Add("渭南", 57045); dic.Add("咸阳", 57048); dic.Add("三门峡", 57051); dic.Add("洛阳", 57073); dic.Add("郑州", 57083); dic.Add("许昌", 57089); dic.Add("开封", 57091); dic.Add("南阳", 57178); dic.Add("漯河", 57186); dic.Add("周口", 57195); dic.Add("广元", 57206); dic.Add("安康", 57245); dic.Add("襄樊", 57278); dic.Add("驻马店", 57290); dic.Add("信阳", 57297); dic.Add("巴中", 57313); dic.Add("达州", 57328); dic.Add("荆门", 57377); dic.Add("随州", 57381); dic.Add("遂宁", 57405); dic.Add("南充", 57411); dic.Add("广安", 57415); dic.Add("恩施", 57447); dic.Add("宜昌", 57461); dic.Add("荆州", 57476); dic.Add("孝感", 57482); dic.Add("武汉", 57494); dic.Add("鄂州", 57496); dic.Add("黄冈", 57498); dic.Add("重庆", 57516); dic.Add("大庸", 57558); dic.Add("岳阳", 57584); dic.Add("咸宁", 57590); dic.Add("常德", 57662); dic.Add("益阳", 57674); dic.Add("长沙", 57687); dic.Add("毕节", 57707); dic.Add("遵义", 57713); dic.Add("铜仁", 57741); dic.Add("怀化", 57749); dic.Add("娄底", 57763); dic.Add("邵阳", 57766); dic.Add("湘潭", 57773); dic.Add("株洲", 57780); dic.Add("萍乡", 57786); dic.Add("宜春", 57793); dic.Add("新余", 57796); dic.Add("安顺", 57806); dic.Add("贵阳", 57816); dic.Add("凯里", 57825); dic.Add("都匀", 57827); dic.Add("衡阳", 57872); dic.Add("桂林", 57957); dic.Add("郴州", 57972); dic.Add("赣州", 57993); dic.Add("商丘", 58005); dic.Add("枣庄", 58024); dic.Add("徐州", 58027); dic.Add("连云港", 58044); dic.Add("亳州", 58102); dic.Add("淮北", 58116); dic.Add("宿州", 58122); dic.Add("宿迁", 58131); dic.Add("淮安", 58145); dic.Add("盐城", 58151); dic.Add("阜阳", 58203); dic.Add("蚌埠", 58221); dic.Add("淮南", 58224); dic.Add("滁州", 58236); dic.Add("南京", 58238); dic.Add("扬州", 58245); dic.Add("泰州", 58246); dic.Add("镇江", 58248); dic.Add("南通", 58259); dic.Add("六安", 58311); dic.Add("合肥", 58321); dic.Add("巢湖", 58326); dic.Add("芜湖", 58334); dic.Add("马鞍山", 58336); dic.Add("常州", 58343); dic.Add("无锡", 58354); dic.Add("苏州", 58357); dic.Add("上海", 58362); dic.Add("黄石", 58407); dic.Add("安庆", 58424); dic.Add("池州", 58427); dic.Add("铜陵", 58429); dic.Add("宣城", 58433); dic.Add("湖州", 58450); dic.Add("嘉兴", 58452); dic.Add("绍兴", 58453); dic.Add("杭州", 58457); dic.Add("舟山", 58477); dic.Add("九江", 58502); dic.Add("景德镇", 58527); dic.Add("金华", 58549); dic.Add("南昌", 58606); dic.Add("抚州", 58617); dic.Add("鹰潭", 58627); dic.Add("衢州", 58633); dic.Add("丽水", 58646); dic.Add("温州", 58659); dic.Add("台州", 58660); dic.Add("三明", 58828); dic.Add("南平", 58834); dic.Add("宁德", 58846); dic.Add("福州", 58847); dic.Add("龙岩", 58927); dic.Add("莆田", 58946); dic.Add("河池地区", 59023); dic.Add("柳州", 59046); dic.Add("贺州地区", 59065); dic.Add("韶关", 59082); dic.Add("漳州", 59126); dic.Add("泉州", 59131); dic.Add("厦门", 59134); dic.Add("百色", 59211); dic.Add("来宾", 59242); dic.Add("贵港", 59249); dic.Add("梧州", 59265); dic.Add("肇庆", 59278); dic.Add("清远", 59280); dic.Add("广州", 59287); dic.Add("佛山", 59288); dic.Add("东莞", 59289); dic.Add("河源", 59293); dic.Add("潮州", 59312); dic.Add("揭阳", 59315); dic.Add("汕头", 59316); dic.Add("崇左", 59425); dic.Add("玉林", 59453); dic.Add("云浮", 59471); dic.Add("中山", 59485); dic.Add("珠海", 59488); dic.Add("深圳", 59493); dic.Add("汕尾", 59501); dic.Add("高雄", 59554); dic.Add("钦州", 59632); dic.Add("防城港", 59635); dic.Add("北海", 59644); dic.Add("湛江", 59658); dic.Add("茂名", 59659); dic.Add("阳江", 59663); dic.Add("海口", 59758); dic.Add("三亚", 59948); dic.Add("西沙", 59981);varrel=dic[key]; return rel; } }
查询效果如下:
数据全部都有了,大家可以根据实际需求情况建个对象来获取所需要的数据,这里就不实现了。
三、结语
本文讲述了使用.NET7通过HttpClient的get方法查询天气预报,时间关系未实现全部功能,仅供参考。如果对样式没有要求的话,网上有js的接口,直接粘贴到网页上就可以了。你有啥好的天气预报API吗?欢迎大家留言讨论。
来源公众号:DotNet开发跳槽❀
关键词:
.NET7使用HttpClient实现查询天气预报接口
天天亮点!大二男生靠打工奖学金穷游37城:没问家里要过1分钱
焦点热门:准备好钱包 比亚迪百万豪车仰望U8四天后开售:超跑U9一同亮相
Redmi Note 12 Turbo首销过后还在狂卖!卢伟冰都没想到
变化极大的iOS 17要来了!苹果内测iOS 16.6系统:或为绝唱更新
今年五一档杀疯了 16部国产大片扎堆:好莱坞大片中国市场遇冷 不符合国人审美
世界看热讯:签约!年产45万吨,林州林钢将建亚洲单体最大铸管生产车间
世界时讯:SpringBoot 如何保证接口安全?老鸟们都是这么玩的
全面数字化时代,国有大型银行如何走好金融创新之路?
速讯:PHP 备忘清单_开发速查表分享
今日热议:如何快速开发软件?这篇文章说明白了
世界微速讯:2023年百大影响力人物:马斯克、TikTok周受资等入榜
公司回应员工未及时回复收到被辞退:顶撞领导 不服从管理
【全球时快讯】量旋科技进军超导量子计算!三大新品、软硬件全流程搞定
世界最资讯丨3年前老机型没被抛弃!一加8系列官宣适配ColorOS 13.1
男子机动车道上骑鸵鸟还拍视频炫耀:系养殖基地训练师、已被处理
世界百事通!16岁女孩骑摩托载21岁女伴不幸遇难,生前网友曾劝“危险”被怼
ntuser是什么文件?ntuser文件可以删除吗?
宏基笔记本电脑风扇设置在哪里?宏基笔记本电脑风扇声音大怎么解决?
摩托罗拉xt685什么时候上市的?摩托罗拉xt685手机参数
显卡金手指是什么?显卡金手指磨损有影响吗?
266.58显卡驱动没法识别硬件是怎么回事?266.58显卡驱动没法识别硬件怎么解决?
全球快报:更安全、更低耗的微服务架构改造之道
PDCA循环模型——如何用同样的时间做更多的事?【No.1 】
聚焦:山西焦化:公司2023年第一季度报告预约披露时间为2023年4月25日
世界关注:荣耀推“三叉戟” 赵明:笔记本过去30年没啥变化 需要跃迁
【全球新要闻】比理想L8 Air便宜3万多 魏牌蓝山四驱版值得买吗?一文看懂
240Hz高刷屏+RTX40显卡!微星星影15游戏图赏
【独家焦点】今年五一档“杀疯了” 至少16部影片扎堆上映:《长空之王》最受期待
黑白相机卖到71000元!徕卡M11 Monochrom正式发布
Espanso文本拓展软件使用体验
当前时讯:简单的了解下 Fetch API 的工作原理
详解 APISIX Lua 动态调试插件 inspect
四舍五入 - 逼疯全世界的开发者
全球热议:NTP网络校时服务器(北斗GPS校时器)在地铁内网系统中的应用
【新视野】半导体设备板块快速走高,金海通涨停
年内公募新基金发行突破2800亿元 债券型基金占比超六成
《Redfall》引发粉丝强烈不满
环球焦点!《名侦探柯南》新剧场版上映 柯哀亲了登顶热搜!新兰CP党表示要弃剧
上海车展全球首发 比亚迪B级纯电SUV官宣:命名“宋L”
焦点快看:女子团购住民宿 结果住到自己家的房子 网友:王思聪有这体验
【全球快播报】荣耀Magic5成旗舰标杆!赵明:从来没有友商敢挑战它的续航、屏幕
环球速看:中标 | 含塔筒3200-3438元/kW!海装、金风、电气风电预中标山东能源渤中海上风电项目
Spring Boot 接口加解密,新姿势来了!
全球微头条丨苹果iPhone 15 Pro机型再曝光:依然实体音量键 静音拨片改为Action按钮
苹果和安卓折腾了5年 愣是干不过微信小程序
抢先看!迪士尼更新真人版《小美人鱼》预告:黑小美人鱼海下展唯美瞬间
世界看热讯:标致408保价期内降价遭集体投诉 车主:4S店称地方补贴不算降价
【全球聚看点】现场办公面对面听意见解难题 西固区定制化服务助企纾困
天天微动态丨【读财报】消费主题基金年报透视:2022年净值普跌 全年共亏逾280亿
每日热门:清华、北大在校生五一淄博免费游”?官方回应:消息属实
快讯:巴奴“天价土豆”换名后重新上架:多地售价18元一份 北京上海22元
云南16岁女孩载21岁女孩无证驾驶摩托车身亡 生前网友曾劝危险
天天观热点:张朝阳建议年轻人多做饭、早上6点就起:外卖都是垃圾!王石唱反调
全球微头条丨问界M5系列华为高阶智驾版来了:不惧鬼探头 实现泊车“自由”
读SQL进阶教程笔记11_关系数据库基础
天天实时:从消博会透视中国消费活力
每日快播:美股财报季拉开前夕美银泼冷水:美企盈利将从“糟糕”走向“更糟”
【天天报资讯】沙特俄罗斯产油国联手减产 国际油价飙升:美国难受 补充战略石油储备
【世界新要闻】女性同事过生日送什么花
环球快讯:ASP.NET Core MVC 从入门到精通之路由
全国4亿人集体“吃土”?沙尘暴持续下该如何保命
当前动态:都江堰商业街现多只红嘴相思鸟尸体:专家判断系撞玻璃死亡
世界聚焦:菜花蛇、眼镜王蛇、王蛇:谁才真正的毒蛇之王?
【播资讯】国产科幻FPS《边境》Steam褒贬不一:UI稀烂 错误频出
天天速递!微星RTX 4070魔龙深度测试:老黄的刀法太精准了!
环球时讯:老两口搬家花4万,这么多年过去了,搜索引擎“搬家刺客”依然存在?
废弃矿井地下水中多环芳烃的降解与迁移机理
1811 E Living Sequence 两种解法
ChatGPT进化,人性消失,究竟是好是坏?
每日聚焦:第137篇:重学ES6模块化
天天热门:容器操作,应用部署,迁移与备份,Dockerfile
焦点快播:20亿的交易被华为反对 没任何可能合作 诺基亚坚持要卖鼎桥母公司股权
黄仁勋主持 台北电脑展NVIDIA发布会敲定!RTX 4060 Ti/4060要来了
焦点消息!《塞尔达传说:王国之泪》终极预告发布:短发公主绝美 盖侬真身登场
天天微资讯!仿真-定向耦合器
今日报丨java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容
ORACLE还原恢复启动时数据库报ORA-00704, ORA-00604, ORA-00904
世界速读:linux环境下安装Docker
世界关注:百度松果菁英班--oj赛(第二次)
面试题百日百刷-kafka篇(三)
速讯:AMD发布RDNA3架构Radeon Pro W7000系列专业显卡:AI性能提升2.7倍、满血3999美元
天天播报:比“500万内最好的SUV”更好!魏牌蓝山上市:27.38万元起
当前聚焦:纯白机身美翻了!影驰RTX 4070星曜OC图赏
为什么今年沙尘暴突然这么严重?40多年植树造林白干了?
环球播报:79888元!大疆Inspire 3发布:全画幅8K电影无人机
葵花药业实控人杀妻案4年后:两女儿接班
【世界独家】大疆悟3曝光:吊着一台摄像机 支持8K 75fps视频录制
每年减少6吨补给 我国空间站氧气100%再生:已达世界领先水平
环球今日报丨强力透气 森马旗下棉致男士冰丝休闲裤34.5元
当前热点-夜莺监控V6初探
每日关注!双碳ETF: 招商基金管理有限公司关于旗下基金投资关联方承销证券的公告
热讯:苹果寻觅中国制造之外新选择:正推动将MacBook转到泰国组装
今日看点:安卓之光未发先火!超1000位米粉下单小米13 Ultra
巴菲特对苹果推崇至极!出1万美元买不走你的iPhone但能买走你的福特车
当前快报:新能源厂商销量榜 长城、五菱、小鹏汽车全部接近腰斩
环球焦点!飞腾CPU走出国门 非洲电厂将用上“中国芯”
每日关注!Java GC基础知识
天天微资讯!KMP(字符串匹配算法)
焦点快报!银行发现7位数存款5年未动急寻人:联系电话是空号