天气API真是他妈反人类啊

来源:互联网 发布:windows一键还原下载 编辑:程序博客网 时间:2024/05/19 22:02

天气API真是反人类啊

由于Android APP需要获取天气,在网上搜了一下,发现有这么几个:1.国天气网的SmartWeather,但,申请Key需要填写垃圾申请表,我填好了发过去,一个星期没回复,估计是一帮废物在那里,瞧不起人.决定拉黑SB Weather.
2.新浪微博搜到了一个接口,但是...网址根本打不开,这个更傻SB.
3.这个时候还是想起百度,搜了一下就发现车联网有一个API.因为是在Android上用的,所以按照说明文档,获取了应用的签名和包名,应用类型是For mobile,生成了一个AK,然后在应用中请求,发现返回的信息都是错误的.误码102,论坛一看,有说用for Server的AK这是什么逻辑啊?简直是误导人.
后来申请的时候选择了for server,请求校验方式选择了SN校验方式,获取到了一个AK和SK,然后........按照官方的说明,生成的SN居然也是计算错误的.
我用get请求方式.所以就是按照:
附录1:sn计算算法

sn = MD5(urlencode(basicString + sk))

其中 basicString 的算法如下:

  • (1) get 请求
    • url 中 http://域名{uri}
    • basicString = uri


String basicString = "/telematics/v3/weather";
String sk = "MHGapESdnO8HLNkVWjxQlyhNTAejqjLu";
String afterEncode = URLEncoder.encode(basicString +sk, "utf-8");
String SB_SN = MD5(afterEncode);
这样计算出来了一个SN,构造好的URL请求是: http://api.map.baidu.com/telematics/v3/weather?location=北京&output=json&ak=我的AK&sn=我的SN
我按照这样请求,得到的居然是234错误,也就是SN码错误.这到底是哪里错啊???已经浪费一个下午调试了.
傻逼百度,傻逼新浪,傻逼中国天气网
0 0
原创粉丝点击