zoukankan      html  css  js  c++  java
  • SmartWeatherAPI C#版

     private string GetKey(string areaId, string type, string date, string appId, string privateKey)
            {
                var hmac = HMACSHA1.Create();
                var publicKey = GetPublicKey(areaId, type, date, appId);
                var data = System.Text.Encoding.UTF8.GetBytes(publicKey);
                //密钥
                var key = System.Text.Encoding.UTF8.GetBytes(privateKey);
                hmac.Key = key;
    
                //对数据进行签名
                var signedData = hmac.ComputeHash(data);
                return Convert.ToBase64String(signedData);
            }
    
            private string GetPublicKey(string areaId, string type, string date, string appId)
            {
                return string.Format("http://open.weather.com.cn/data/?areaid={0}&type={1}&date={2}&appid={3}", areaId, type, date, appId);
            }
    
            /// <summary>
            /// 获取请求URL
            /// </summary>
            /// <param name="areaId">地区ID,例:北京=101010100</param>
            /// <param name="type">预警:alarm 实况:observe 指数:index 常规预报(24小时):forecast1d</param>
            /// <param name="date">日期,年月日时分,例:201410091040</param>
            /// <param name="appId"></param>
            /// <param name="privateKey"></param>
            /// <returns></returns>
            public string GetUrl(string areaId, string type, string date, string appId, string privateKey)
            {
                string key = GetKey(areaId, type, date, appId, privateKey);
    
                return string.Format("http://open.weather.com.cn/data/?areaid={0}&type={1}&date={2}&appid={3}&key={4}",
                  areaId, type, date, appId.Substring(0, 6), HttpUtility.UrlEncodeUnicode(key));
            }
  • 相关阅读:
    Fedora 23 配置
    小小的告别一下这个博客
    markdown测试
    ihhh题解
    【BZOJ】1998: [Hnoi2010]Fsk物品调度
    【BZOJ】2563: 阿狸和桃子的游戏
    【BZOJ】3712: [PA2014]Fiolki
    【BZOJ】2333: [SCOI2011]棘手的操作
    我的vimrc
    Ubuntu Gnome 14.04.2 lts 折腾笔记
  • 原文地址:https://www.cnblogs.com/ycdx2001/p/4013339.html
Copyright © 2011-2022 走看看