中国天气网API接口支持类 V1.0

 2017-09-19 23:07   1533 人阅读  0 条评论

中国天气网API接口支持类简介:

     适用于易语言开发平台

     纯代码,无第三方支持库或模块。

     封装了脚本语言支持类,JSON解析支持类,编码支持类,天气数据接口类。

     主要是通过创建脚本对象,利用JS代码实现JSON解析相关算法。

 

中国天气网气象数据开放接口简介:

     气象数据开放接口是中国气象局面向网络媒体、手机厂商、第三方气象服务机构等用户,通过web方式提供气象数据服务的官方载体。随着气象数据开放平台的逐渐完善,会面向广大用户提供更为丰富全面的气象数据,从而满足不同用户的不同需求。


hello<?
phpset_time_limit(0);
$private_key = 'xx';
$appid='xx';
$appid_six=substr($appid,0,6);$areaid = '101010100'; 
$type='forecast_v';$date=date("YmdHi");
$public_key="[url= 
http://open.weather.com.cn/data/?areaid=".$areaid."&type=".$type."&date=".$date."&appid=".$appid[/url]; 
$key = base64_encode(hash_hmac('sha1',$public_key,$private_key,TRUE));
$URL="[url=  
.$appid_six."&key=".urlencode($key
[/url]);
echo $URL."<br />";   
$string=file_get_contents($URL);  
echo $string;  
 ?>



其中,变量AppId,是注册中国天气网成功后分配的AppId文本,private_key是注册中国天气网成功后分配的完整key文本。

 

 分析:

      转换成易语言 ,主要的技术点在于“base64_encode”,hash_hmac”加密算法,URL编码,以及UTF-8编码转换,还有json数据的读取。
      其它都比较简单,有现成的代码可以借鉴,就“hash_hmac”加密算法比较麻烦一点,只能找到js代码,易语言自带脚本语言支持库,可用,不喜欢带库可以通过对象实现,本文采用后一种方法。
    同理,json数据的读取,也可以用js脚本实现,简化代码如下(源码中未使用此方法):

.版本 2

.子程序 解析, 变体型, 公开, 将JSON文本转换为JSON对象,可以在紧随其后用“取错误()"命令来判断是否执行成功,如果返回值为空文本表示成功,否则失败。本命令为初级对象成员命令。
.参数 JSON文本, 文本型
.局部变量 js, 对象

js.创建 (“MSScriptControl.ScriptControl”, )  ' 创建
js.写属性 (“Language”, “JavaScript”)
返回(js.通用方法 (“Eval”, “(" + JSON文本 + ")" ))



如上面的代码所示,最简单的JSON文本转JSON对象的方法是用JS对象的Eval方法。

难点分析完毕

源码下载地址:http://pan.baidu.com/s/1hrdX7Ly 




 发表评论


表情

还没有留言,还不快点抢沙发?