zoukankan      html  css  js  c++  java
  • 天气JSON API,不限次数获取十五天的天气预报

    天气JSON API,不限次数获取十五天的天气预报

     
     
     

    ##免费天气接口说明

    1. 当前天气接口是用Springboot2.1.11 集成 Ehcache。
    2. 接口由https://www.sojson.com 免费提供。
    3. 用于个人学习,小型网站,商业用途请联系站长付费。
    4. 具体接口规则请查看:https://www.sojson.com/blog/305.html

    ##技术讲解

    1. 请求 sojson 采用了RestTemplate请求,具体看 WeatherManager.java
    2. 缓存采用 Ehcache ,配置文件请看 ehcache.xml 这里采用了ttl配置。解决了缓存过期和更新的问题。

    ##项目使用

    项目启动后,比如访问北京的天气,链接为:http://127.0.0.1:8972/api/city/101010100


     

    本站之前提供了免费接口:https://www.sojson.com/blog/234.html,但是由于访问量太大,对本站“SOJSON 在线工具”请求经常有影响,现在不得不改变接口地址。原接口需要停用。去年就已经停用,目前每天还有800万每天的调用量,你们这些无耻之徒。

    有问题请加QQ群:608222884 (验证消息“sojson api”)必须带验证消息,不然不会过。

    紧急情况说明:

    禁用IP列表:

    39.104.69.*(原因39.104.69.6 在2018年10月的 17~20日 排行为top 1,每天几十万次。)

    47.98.211.* (原因47.98.211.131 在2018年11月份长期每天30~40万次每天)

    2019年05月14日15:02:25 更新禁用IP列表如下:

     
    1. 121.40.192.*,111.61.21.*,60.29.188.*,61.164.49.*,39.107.58.*,117.90.4.*,49.82.107.*,223.242.131.*,61.150.107.*,45.32.90.*,124.160.11.*,59.173.243.*,140.143.7.*,123.139.56.*,58.40.228.*,106.2.232.*,118.186.228.*,47.99.107.*,59.49.50.*,183.95.250.*,202.115.193.*,47.106.181.*,124.163.225.*,111.77.20.*,106.57.6.*,218.241.82.*,59.55.49.*,223.247.165.*,113.239.198.*,183.188.90.*,47.110.42.*,47.101.65.*,39.104.69.*,106.56.247.*,202.204.214.*,49.4.95.*,101.224.74.*,106.92.157.*,114.95.87.*,58.38.47.34,188.131.154.*,1.202.142.*,218.3.243.*,47.98.211.*,183.194.169.135,118.113.200.*,47.92.165.222,39.107.225.34

    天气接口优化点:

    1.接口每8小时更新一次,机制是  CDN  缓存8小时更新一次。注意:“自己做缓存,因为你每请求我一次,我就是有费用的,又拍云 CDN加速回源是按次收费,你可以了解下”。

    2.接口采用城市ID来精准查询请求,具体每个城市对应的ID可以查看下面的文件“city.json”每个城市的city_code字段,如果是"",就是省份不能直接查询天气。

    3.如果需要1个小时更新一次的接口,并且支持  https  ,需要付费800元,不限次数,永久有效,不足一年按 12 / 8 * 使用月数退款,提供公司盖章收据。

    4.每分钟阈值为300次,如果超过会禁用一天。请谨慎使用。

    5.增加了独立的年月日字段:ymd 如“2018年12月12日” 原来的date改成了独立的日,如12,增加了独立的星期字段week:如“星期日”,具体看下面返回值说明。

    6.天气取消了昨天天气,增加到了15天天气(2019年02月16日更新)

    接口自问自答

    1、接口能不能 ajax jsonp 的方式调用?

    答:不能,必须后端语言,比如   Java  、PHP、C#,PY等。 注:Android,iOS 之类直接调用,我发现后会封掉,建议后端调用

    2、接口每天的更新时间是什么时候?

    答:天气更新时间为每天的:3点,8点,13点,19点,所以建议不要凌晨去获取,加上CDN有1个小时的缓存,建议4点,9点,14点,20点后获取。

    3、接口稳定吗?

    答:应该,也许、如果的话,是稳定的。如果不明白的话,你摸着良心觉得您问的是不是废话。

    4、天气有哪些状态?天气图片哪里获取?

    答:请加QQ群:608222884 (验证消息“sojson api”),群内有全部的类型和参考文件。此群不收费,不要发广告。

    5、提示403是怎么回事?

    答:此接口理论上不限制次数,如果你一天需要调用大量,比如几十万次一天必封无疑。几万次也有封的可能性比如一瞬间高并发调用,我会酌情考虑封掉。

    6、提示有恶意调用是什么意思?

    答:因为你一直循环调用,没有做缓存,对服务器造成了很大的压力,请参照第五点。

    新天气接口请求参数:

      Java   请求  天气接口  Demo讲解:https://www.sojson.com/blog/349.html (Springboot + Ehcache)

    具体请看下面的city.json文件,下面以天津举例,其他城市ID,请看最下面的城市数据

     
    1. {
    2. "id": 26,//没有用
    3. "pid": 0,//没有用,级联关联的上级ID
    4. "city_code": "101030100",//城市ID
    5. "city_name": "天津",//城市name
    6. "post_code": "300000",//邮政编码,这个没有用,您自己的API可以通过邮政编码来转换
    7. "area_code": "022",//区号,这个没有用,您自己的API可以通过这个来转换
    8. "ctime": "2019-07-11 17:30:08"//这个没有用
    9. }

    上面不算参数,只是对于city.json 文件说明一下,有用的参数就city_code的值。其他的都没用,数据提供全一点,希望对您有帮助

    那天津对于的ID就是city_code:101030100。

    请求链接:http://t.weather.sojson.com/api/weather/city/101030100就这个链接,然后get请求,不用再带任何参数。请求是restfull风格,city_code 为9位数字。只要拼接在地址 “http://t.weather.sojson.com/api/weather/city/+city_code” 后面即可。

    接口返回值:

    接口成功返回值:

     
    1. {
    2. "time": "2018-09-22 12:37:21",//系统更新时间
    3. "cityInfo": {
    4. "city": "天津市", //请求城市
    5. "cityKey": "101030100",//请求ID
    6. "parent": "天津", //上级,一般是省份
    7. "updateTime": "12:32"//天气更新时间
    8. },
    9. "date": "20180922", //当前天气的当天日期
    10. "message": "Success !", //返回message
    11. "status": 200, //返回状态
    12. "data": {
    13. "shidu": "22%", //湿度
    14. "pm25": 15.0, //pm2.5
    15. "pm10": 46.0, //pm10
    16. "quality": "优", //空气质量
    17. "wendu": "24", //温度
    18. "ganmao": "各类人群可自由活动",//感冒提醒(指数)
    19. "forecast": [//今天+未来14天
    20. {
    21. "date": "22",
    22. "ymd": "2018-09-22", //年月日 (新增)
    23. "week": "星期六", //星期 (新增)
    24. "sunrise": "05:57",
    25. "high": "高温 26.0℃",
    26. "low": "低温 15.0℃",
    27. "sunset": "18:10",
    28. "aqi": 55.0,
    29. "fx": "西北风",
    30. "fl": "4-5级",
    31. "type": "晴",
    32. "notice": "愿你拥有比阳光明媚的心情"
    33. },
    34. {
    35. "date": "23",
    36. "ymd": "2018-09-22", //年月日 (新增)
    37. "week": "星期日", //星期 (新增)
    38. "sunrise": "05:58",
    39. "high": "高温 23.0℃",
    40. "low": "低温 14.0℃",
    41. "sunset": "18:09",
    42. "aqi": 29.0,
    43. "fx": "西北风",
    44. "fl": "4-5级",
    45. "type": "晴",
    46. "notice": "愿你拥有比阳光明媚的心情"
    47. },
    48. {
    49. "date": "24",
    50. "ymd": "2018-09-22", //年月日 (新增)
    51. "week": "星期一", //星期 (新增)
    52. "sunrise": "05:59",
    53. "high": "高温 24.0℃",
    54. "low": "低温 15.0℃",
    55. "sunset": "18:07",
    56. "aqi": 25.0,
    57. "fx": "西北风",
    58. "fl": "<3级",
    59. "type": "晴",
    60. "notice": "愿你拥有比阳光明媚的心情"
    61. },
    62. {
    63. "date": "25",
    64. "ymd": "2018-09-22", //年月日 (新增)
    65. "week": "星期二", //星期 (新增)
    66. "sunrise": "06:00",
    67. "high": "高温 24.0℃",
    68. "low": "低温 16.0℃",
    69. "sunset": "18:05",
    70. "aqi": 56.0,
    71. "fx": "西南风",
    72. "fl": "<3级",
    73. "type": "晴",
    74. "notice": "愿你拥有比阳光明媚的心情"
    75. },
    76. {
    77. "date": "26",
    78. "ymd": "2018-09-22", //年月日 (新增)
    79. "week": "星期三", //星期 (新增)
    80. "sunrise": "06:01",
    81. "high": "高温 24.0℃",
    82. "low": "低温 17.0℃",
    83. "sunset": "18:04",
    84. "aqi": 86.0,
    85. "fx": "西南风",
    86. "fl": "3-4级",
    87. "type": "阴",
    88. "notice": "不要被阴云遮挡住好心情"
    89. }
    90. ]
    91. }
    92. }

    参数错误返回值:

     
    1. {
    2. "time": "2018-09-22 12:45:29",
    3. "message": "CityId不在返回之内。",
    4.     "status":403
    5. }

    参数数位不对返回值:

     
    1. {
    2. "message": "Request resource not found.",
    3. "status": 404
    4. }

    城市数据:

    请在百度网盘下载:链接: https://pan.baidu.com/s/1JFAwnH2MRLc5OD3hsJZwGQ 提取码: u8sk 

    JSON City:https://github.com/baichengzhou/weather.api/blob/master/src/main/resources/citycode-2019-08-23.json

    有问题请加QQ群:608222884 (验证消息“sojson api”)

    如果需要https,并且每个小时更新天气状况,请加群后联系群主,付费800元,永久有效,不限次数。

    版权所属:SO JSON在线解析

    原文地址:https://www.sojson.com/blog/305.html

    转载时必须以链接形式注明原始出处及本声明。

     
     
     
  • 相关阅读:
    窗口宽高 滚动条滚动距离 元素的文档坐标和窗口坐标
    parentNode parentElement childNodes children
    ffmpeg 提取mp3
    Linux修改时区的正确方法
    pip
    wireguard
    Nextcloud挂载谷歌云盘搭建
    ts合并
    screen
    google drive
  • 原文地址:https://www.cnblogs.com/xinxihua/p/12720788.html
Copyright © 2011-2022 走看看