心知天气数据提供方提供了两种请求方式
这里着重介绍第二种采用更安全的方式使用公钥进行传递,我们知道加密中有对称加密、非对称加密其中非对称加密中又有数字签名、数字证书,私钥在自己手中,公钥可以在互联网中传播,只有自己手中的私钥可以解密(以后会抽出一章着重复习下相关知识)
正式开始操作 以下是官网中提供的步骤 我们只需要代码按照如下步骤进行即可
1、构造验证参数字符串
2、使用HMAC-SHA1方式,以API密钥中的“私钥”对上一步生成的参数字符串进行加密
这里请注意HMAC-SHA1加密和SHA1是有区别的,在微信开发中使用的是sha1加密,这里的HMAC-SHA1需要传递私钥
3、将上一步生成的加密结果用base64编码,并做一个urlencode,得到签名sig
4、将上一步得到的签名sig附在第一步构造的参数字符串后,作为请求的一个参数发送。
请参考步骤1中的entryption方法
然后在使用中依然使用JSONObject进行转换后取值即可,示例格式数据:
在官网上有code所对应的意义,这里需要自己做一个数据集合,然后将获取到的code通过数据集合转换为可读懂的意思
同时官网还有天气对应的图片可供下载
更多的数据展现应用我这里还没做完善,就不演示了。