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(, ), HttpUtility.UrlEncodeUnicode(key));
}
SmartWeatherAPI C#版的更多相关文章
- 读书笔记:JavaScript DOM 编程艺术(第二版)
		
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
 - jQuery实践-网页版2048小游戏
		
▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...
 - 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题
		
千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...
 - 将表里的数据批量生成INSERT语句的存储过程 增强版
		
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
 - 微软发布正式版SQL Server 2016
		
微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...
 - premere cs4绿色版 安装 并且 视频导出 讲解
		
最近室友,开始在玩视频剪辑,用的是 premere cs4 绿色版.让他遇到的最大问题也是我之前遇到的最大问题,就是视频导出. 所以我在这里上传一套自己的一点点经验吧. 接下来,我就总结一下 我是怎么 ...
 - 渗透测试工具BurpSuite做网站的安全测试(基础版)
		
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
 - CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15
		
之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...
 - 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
		
Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...
 
随机推荐
- linux命令学习笔记(29):chgrp命令
			
在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群 组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group ...
 - C/C++ 混合编程
			
[面试] C/C++ 语法(五) -- extern 1. C 调用 C++ 开发的DLL库 C和C++混合编程(__cplusplus 与 external "c" 的使用) # ...
 - 远程调用appium server
			
例如:我有两台电脑A(192.168.112.10)和B(192.168.112.11),那我怎么能在A执行本地脚本,但是使用B上的server呢? 查看appium连接appium服务并开启一个 ...
 - 用CSS实现新闻轮播效果
			
CSS: /* Make it a marquee */ .marquee { width: 450px;margin: 0 auto;overflow: hidden;white-space: no ...
 - ACM学习历程——UVA127  "Accordian" Patience(栈, 链表)
			
Description ``Accordian'' Patience You are to simulate the playing of games of ``Accordian'' patie ...
 - bzoj 1049: 数字序列 dp
			
题目大意: 给定一个长度为n的整数序列.在改变的数最小的和改变的幅度最小的前提下把它变成一个单调严格上升的序列.求改变的最小的数和这个幅度. 题解: (貌似以前考试考过这道题) 其实这道题就是两道题拼 ...
 - CentOS7的网络配置
			
1.DNS配置 新安装的虚拟机,ping 内网IP可以,但是ping 外网域名却失败,告知“Name or service not known”. 原来是因为需要在/etc/sysconfig/net ...
 - Java类加载原理解析(转)
			
1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载.Java的类加载机制是技术体系中比较核心的 ...
 - 继承HibernateDaoSupport实现DAO(spring整合hibernate)
			
转自:https://blog.csdn.net/yz9612/article/details/80234377 spring为hibernate的DAO提供工具类:HibernateDaoSuppo ...
 - JavaScript高级程序设计学习笔记第十章--DOM
			
1.DOM:文档对象模型,是针对 HTML 和 XML 文档的一个 API(应用程序编程接口). 2.DOM 可以将任何 HTML 或 XML 文档描绘成一个由多层节点构成的结构. 3.文档节点是每个 ...