基于C#的微信公众平台开发系列1

1.首先服务器地址及Token验证:

Token验证请求地址wx.ashx代码:

 1 using System;
 2 using System.Web;
 3
 4 public class wx : IHttpHandler {
 5
 6     public void ProcessRequest (HttpContext context)
 7     {
 8         context.Response.ContentType = "text/plain";
 9         //
10         if (context.Request.HttpMethod.ToLower().Equals("get"))
11         {
12             ValidateUrl();
13         }
14         else {
15             context.Response.Write("wgx:post");
16         }
17     }
18    #region 服务器地址校验
19     /// <summary>
20     /// 服务器地址校验
21     /// </summary>
22     public void ValidateUrl()
23     {
24         /* signature    微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
25             timestamp    时间戳
26             nonce    随机数
27             echostr    随机字符串
28         */
29         //接收请求过来的参数
30         HttpContext context = HttpContext.Current;
31         string signature = context.Request["signature"];
32         string timestamp = context.Request["timestamp"];
33         string nonce = context.Request["nonce"];
34
35         string echostr = context.Request["echostr"];
36
37         string token = "weixinduang";
38         string[] temp1 = { token, timestamp, nonce };
39         //1.字典序排序
40         Array.Sort(temp1);
41         //2.将3个参数字符串拼接成一个字符串后进行sha1加密
42         string str = string.Join("", temp1);
43         string strResult = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");
44         //3.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
45         if (strResult.ToLower().Equals(signature))
46         {
47             context.Response.Write(echostr);
48         }
49     }
50     #endregion
51
52     public bool IsReusable {
53         get {
54             return false;
55         }
56     }
57 }

如果验证通过会提示成功,否则失败。

时间: 2024-10-13 18:56:02

基于C#的微信公众平台开发系列1的相关文章

微信公众平台开发(系列教程)

微信公众平台开发(一) 配置接口 http://www.cnblogs.com/mchina/archive/2013/06/05/3108618.html 一.简介 微信公众平台是腾讯公司在微信的基础上新增的功能模块,通过这一平台,个人和企业都可以打造一个微信的公众号,并实现和特定群体的文字.图片.语音的全方位沟通.互动. 二.通讯机制 三.注册微信平台公众帐号 注册地址:https://mp.weixin.qq.com 四.服务器端配置 4.1 示例代码设置 微信公众平台提供了一个php示例

微信公众平台开发最佳实践(第2版)

<微信公众平台开发最佳实践 第2版>微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达2万人次,而<微信公众平台开发入门教程>的阅读量超过50万,博客访问量总计超过500万,成为微信公众平台开发更新最快,传播最广.受众最多.资料最全的博客,很多博文被许多有影响力的网站转载,并被各大搜索引擎收录且排名

微信公众平台开发最佳实践

方倍工作室自从在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达上万人次,而"微信公众平台开发入门教程"的阅读量早已超出10万,很多博文被多家有影响力的网站转载,并被各大搜索引擎收录且排名靠前,这些是我们始料未及的. 然而更让我们感到高兴的是,很多开发者通过学习我们的教程学会了微信公众平台开发,并且通过微信开发获得收益.2013年10月17日,我们在QQ空间发布了新版的<微信公众平台开发入门教程>链接后,网友"我

微信公众号开发系列教程一(调试环境部署续:vs远程调试)

原文:微信公众号开发系列教程一(调试环境部署续:vs远程调试) 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) 前几天决定写个微信公众平台开发系列,在发布第一篇博文后,收到了很多园友的反馈和建议,在这里感谢大家的支持,我会坚持写完这个系列,希望能帮助更多的小伙伴.特别要感谢下@ZIP,是他的一个提醒才有了这篇博文.也希望更多的小伙伴能把你的想法反馈给我. 上一篇中主要介绍的是使用花生壳

微信公众平台开发问答

微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理.归类和检索. 主题:新手常见问题 问:我是新手,没有开发基础,应该如何学习微信公众平台的开发?答:先学习PHP和Mysql,可以在网上找相应的教程,也可参考书籍<PHP和MySQL Web开发(原书第4版)>:再学习微信公众平台开发入门教程,了解微信收发消息原理及回复:然后根据微信开发文档,熟悉接口,并在此基础上实现一些基本的小功能,并扩展到更复杂的功能上. 问:URL和Token是什么意思?有什么用?我应该如何

[050] 微信公众平台开发入门视频教程已发布

2014年4月26日晚8点,我在CSDN社区在线培训课堂讲解了微信公众平台开发入门的相关知识,受到广大网友的一致好评,在此非常感谢大家的支持!课程结束后,很多网友表示由于报名人数限制.临时有事等原因,未能参加,希望能够提供录制视频的观看地址.视频教程的主要内容包括: 1.移动APP发展趋势(Native APP.Web APP.Light APP) 2.微信公众平台基础知识(服务号/订阅号.公众账号注册的注意事项.微信认证) 3.开发模式的使用(启用开发模式.接收与响应消息.回复文本/图文/音乐

网络架构、云平台和微信公众平台开发接入

版权声明:本文为博主原创文章,未经博主允许不得转载. 云与后端相关的技术似乎并不属于嵌入式和物联智能硬件开发工程师的范畴,但是嵌入式开发工程师有必要认识成熟的网络架构和相关的云技术,以拓展自己在系统架构方面的视野.大数据分析是物联网背后的核心价值,物联智能硬件是物联大系统的终端,开发工程师不仅要深入精通物联技术,也应该去理解大系统,甚至整个生态领域的相关技术. 作为嵌入式开发工程师,也许并不需要熟悉云和后端的技术开发,但至少要对其中用到的技术和接口有一定的认识. 一.网络架构 常见的网络架构分为

微信公众平台开发教程(六)获取个性二维码

微信公众平台开发教程(六)获取个性二维码 一.功能介绍 在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注.二维码给我们提供了极大的便捷,只要简单一扫描,即可关注. 如果已经关注过,立刻跳入对话画面.在我们进行推广时,不再是简陋的文字,可以是一个有个性的二维码,想必会很生动. 微信对二维码提供了很好的支持,而且还可以根据需要生成不同场景的二维码.下面我们将介绍如何获取和使用二维码. 注意:限服务号,且进行了微信认证,费用300 二.相关接口 为了满足用户渠道推广分

微信公众平台开发基础知识38问

最近接触微信公众号后台的开发,看了一些资料基本可以满足简单的需求开发.笔者将这些问题及解答整理出来,以帮助更多初学者少走弯路. 1.订阅号与服务号的主要区别是什么? 订阅号每天能群发一条消息,没有自定义菜单及高级接口权限(目前 个人.企业订阅号关联腾讯微博认证之后才有自定义菜单):服务号有自定义菜单微信认证之后有高级接口权限,但每月只能群发一条消息. 2.到底该申请订阅号还是服务号? 申请哪种类型的公众账号,主要取决于账号的用途.服务号主要面向企业和组织,旨在为用户提供服务:订阅号主要面向媒体和