微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
来源:互联网 发布:映射网络驱动器 命令 编辑:程序博客网 时间:2024/04/27 15:41
这些代码也就开始认证的时候用一次,以后就不用了:
const string Token = "XXXXX";//你的token protected void Page_Load(object sender, EventArgs e) { string postStr = ""; if (Request.HttpMethod.ToLower() == "post") { System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); postStr = System.Text.Encoding.UTF8.GetString(b); if (!string.IsNullOrEmpty(postStr)) { //ResponseMsg(postStr); Response.Write(ResponseMsg(postStr)); Response.End(); } //WriteLog("postStr:" + postStr); } else { Valid(); } } /// <summary> /// 验证微信签名 /// </summary> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 /// <returns></returns> private bool CheckSignature() { string signature = Request.QueryString["signature"].ToString(); string timestamp = Request.QueryString["timestamp"].ToString(); string nonce = Request.QueryString["nonce"].ToString(); string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 string tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1"); tmpStr = tmpStr.ToLower(); if (tmpStr == signature) { return true; } else { return false; } } private void Valid() { string echoStr = Request.QueryString["echoStr"].ToString(); if (CheckSignature()) { if (!string.IsNullOrEmpty(echoStr)) { Response.Write(echoStr); Response.End(); } } } /// <summary> /// 写日志(用于跟踪) /// </summary> private void WriteLog(string strMemo) { string filename = Server.MapPath("/logs/log.txt"); if (!Directory.Exists(Server.MapPath("//logs//"))) Directory.CreateDirectory("//logs//"); StreamWriter sr = null; try { if (!File.Exists(filename)) { sr = File.CreateText(filename); } else { sr = File.AppendText(filename); } sr.WriteLine(strMemo); } catch { } finally { if (sr != null) sr.Close(); } }
113 1
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公共服务平台开发(.Net 的实现)
- .net 开发微信公众平台(一)-----认证"成为开发者"
- 微信公共服务平台开发(.Net 的实现)14-------1~13代码打包下载
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
- 微信公共服务平台开发(.Net 的实现)2-------获得ACCESSTOKEN
- 微信公共服务平台开发(.Net 的实现)3-------发送文本消息
- 微信公共服务平台开发(.Net 的实现)4-------语音识别
- 微信公共服务平台开发(.Net 的实现)6-------自定义菜单
- POJ 2992 Divisors 求组合数的约数个数
- Drawable资源---主题资源
- windows技巧--win7修改锁屏壁纸(不用软件)
- 饭卡
- poj 2524 Ubiquitous Religions
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- IOS 运行时、ISA、动态、runtime。。。
- 网络嗅探器(Sniffer)的原理与实现(1)
- One fihgt one hdu 2813 map+二分图最优匹配+KM快速模板
- 偏相关系数 - sas 实现
- Linux的mount命令
- C语言动态内存分配
- Destroy WebView in Android
- 使用const 提高函数的健壮性