紧急情况说明:

禁用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、提示有恶意调用是什么意思?

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

新天气接口请求参数:

具体请看下面的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. "cityId":"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

我是真怕了,以前的链接“http://cdn.sojson.com/_city.json” 有人居然对这个文件请求了1900GB出来。产生费用1000RBM+

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

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

版权所属:SO JSON在线解析

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

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

 

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

 

免费天气API,天气JSON API,不限次数获取十五天的天气预报的更多相关文章

  1. arcgis api 3.x for js 入门开发系列十五台风轨迹

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  2. Hadoop MapReduce编程 API入门系列之Crime数据分析(二十五)(未完)

    不多说,直接上代码. 一共12列,我们只需提取有用的列:第二列(犯罪类型).第四列(一周的哪一天).第五列(具体时间)和第七列(犯罪场所). 思路分析 基于项目的需求,我们通过以下几步完成: 1.首先 ...

  3. 重新整理 .net core 实践篇————熔断与限流[三十五]

    前言 简单整理一下熔断与限流,跟上一节息息相关. 正文 polly 的策略类型分为两类: 被动策略(异常处理.结果处理) 主动策略(超时处理.断路器.舱壁隔离.缓存) 熔断和限流通过下面主动策略来实现 ...

  4. 免费json API

    免费json API http://www.bejson.com/knownjson/webInterface/

  5. json-lib-2.4-jdk15.jar所需全部JAR包.rar java jsoup解析开彩网api接口json数据实例

    json-lib-2.4-jdk15.jar所需全部JAR包.rar  java jsoup解析开彩网api接口json数据实例 json-lib-2.4-jdk15.jar所需全部JAR包.rar  ...

  6. .net mvc web api 返回 json 内容,过滤值为null的属性

    原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载. .net mvc web ap ...

  7. atitit.基于http json api 接口设计 最佳实践 总结o7

    atitit.基于http  json  api 接口设计 最佳实践 总结o7 1. 需求:::服务器and android 端接口通讯 2 2. 接口开发的要点 2 2.1. 普通参数 meth,p ...

  8. Learning Scrapy笔记(六)- Scrapy处理JSON API和AJAX页面

    摘要:介绍了使用Scrapy处理JSON API和AJAX页面的方法 有时候,你会发现你要爬取的页面并不存在HTML源码,譬如,在浏览器打开http://localhost:9312/static/, ...

  9. .Net MVC 4 Web Api 输出Json 格式

    1.Global 中增加json输出 GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add( ...

随机推荐

  1. centos6离线安装apache2.4

    在/usr/local中新建文件夹 Apache2.4,将httpd安装包放入该文件夹, 解压:tar xvf httpd-2.4.41.tar.gz 进入httpd-2.4.41文件夹中,对Apac ...

  2. b站德云社相声合集

    每天都做德云小可爱呀 郭德纲于谦相声合集搜索: 75314217.75079477 62444678.60874866 60745041.60514509 之前在喜马拉雅上面听过,部分高清的要会员,只 ...

  3. git内容补充-Git零基础快速入门-苏玲

    https://git-scm.com/book/zh/v2 git历史 集中式版本控制管理:cvs.svn 分布式版本控制管理:git 基本命令 git config --list --global ...

  4. 数据结构KMP算法中手算next数组

    总结一下今天的收获(以王道数据结构书上的为例子,虽然我没看它上面的...):其中竖着的一列值是模式串前缀和后缀最长公共前缀. 最后求得的结果符合书上的结果,如果是以-1开头的话就不需要再加1,如果是以 ...

  5. Codeforce 567A - Lineland Mail

    All cities of Lineland are located on the Ox coordinate axis. Thus, each city is associated with its ...

  6. 【C语言】猴子吃桃问题

    题目: 猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个: 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了. ...

  7. (转)java中新生代和老年代

    转自:http://blog.csdn.net/lojze_ly/article/details/49456255 聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不 ...

  8. centos软连接的增删

    软连接操作 增加 ln-s 源文件 软连接名 修改 ln –snf 源文件 软连接 删除 只删除软连接 rm -rf 软连接名 只删除源文件 rm -rf 源文件 -r循环 -f强制

  9. 第一次刷leetcode小结

    LeetCode 上不会的 Reverse Integer Gray Code Generate Parentheses Pascal's Triangle II 正方向读和反方向读保持不变的区别 T ...

  10. hadoop cdh 后启动群起脚本总是起不起来的一些坑

    最近都在流行大数据什么的,然后偶然之间加入了一个物联网的小公司,可以使用hadoop 来做数据分析,于是心中窃喜,可以有机会接触大数据了,从此走上人生巅峰赢取白富美. 可是成功的道路总不是一帆风顺滴, ...