using System;//转载请注明来自 http://www.uzhanbao.com
using System.Web;
using System.IO;
using System.Text;
using System.Web.Security;
using weixin_api;
public class wxgz_api : IHttpHandler
{public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";string postString = string.Empty;if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST"){//微信服务器对接口消息 using (Stream stream = HttpContext.Current.Request.InputStream){Byte[] postBytes = new Byte[stream.Length];stream.Read(postBytes, 0, (Int32)stream.Length);postString = Encoding.UTF8.GetString(postBytes);Handle(postString);}}else{//微信进行的Get测试(开发者认证)WxAuth();}}/// <summary>/// 处理信息并应答/// </summary>private void Handle(string postStr){messageHelp help = new messageHelp();string responseContent = help.ReturnMessage(postStr);HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;HttpContext.Current.Response.Write(responseContent);}#region 微信验证public void WxAuth(){string token = "xxxxxxxx";if (string.IsNullOrEmpty(token)){return;}string echoString = HttpContext.Current.Request.QueryString["echostr"];string signature = HttpContext.Current.Request.QueryString["signature"];string timestamp = HttpContext.Current.Request.QueryString["timestamp"];string nonce = HttpContext.Current.Request.QueryString["nonce"];if (CheckSignature(token, signature, timestamp, nonce)){if (!string.IsNullOrEmpty(echoString)){HttpContext.Current.Response.Write(echoString);HttpContext.Current.Response.End();}}}/// <summary>/// 验证微信签名/// </summary>public bool CheckSignature(string token, string signature, string timestamp, string nonce){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;}}#endregionpublic bool IsReusable{get{return false;}}
}

C#微信公众号与订阅号接口开发示例代码相关推荐

  1. 微信公众账号的订阅号与服务号有什么区别?

    也可以参考官方文档http://kf.qq.com/product/weixinmp.html#hid=hot_faq 一.微信公众平台服务号 1.微信公众平台服务号,顾名思义,主要是给客户提供服务的 ...

  2. 微信公众平台的订阅号和服务号有什么不同?各自有什么优缺点?

    原文出处: http://zhidao.baidu.com/question/579900764.html?qbl=relate_question_4 服务号 1.1个月(30天)内仅可以发送1条群发 ...

  3. php微信个性化菜单,微信公众平台新增个性化菜单接口,实现公众号

    为了帮助公众号实现灵活的业务运营,微信公众平台新增个性化菜单接口. 如何开通微信公众平台个性化菜单接口 目前只对已通过认证的微信订阅号和服务号开放. 在此之前的微信订阅号和服务号是只能按照微信公众平台 ...

  4. 微信公众号_订阅号+服务号开发工具包-翟东平-专题视频课程

    微信公众号_订阅号+服务号开发工具包-15114人已学习 课程介绍         "微信公众平台深度开发Java版 v2.0"系列课程共有6季,使用JAVA语言,系统讲解微信公众 ...

  5. 公众号、订阅号与服务号区别(微信5.0以上)

    微信5.0升级后分成了服务号和订阅号,分别是什么意思?区别是什么? 一.服务号.订阅号的介绍(区别) 微信公众平台现在已分成订阅公众号和服务公众号两种类型. 公众平台服务号,是公众平台的一种帐号类型, ...

  6. 微信服务号,公众号,订阅号

    公众号: 分 订阅号,服务号. 订阅号: 面对个人,订阅号主要功能是发文章,一天发一篇,但其他功能较少 ,没法使用支付功能,也不能网页授权,只能弄个消息回复. 服务号: 面对企业/公司,要交钱,主要功 ...

  7. 微信公众号开发1——服务号和订阅号,启用开发模式

    公众账号分为:服务号和订阅号 服务号是面向企业和组织,主要是为用户提供服务,如:西安交警,平安南航,每月只能群发一条消息:服务号发送消息会显示在用户通讯录中 订阅号是面向媒体和个人,主要是为用户提供信 ...

  8. 微信公众平台的服务号和订阅号

    微信公众平台 服务号 订阅号  作者:方倍工作室  地址:http://www.cnblogs.com/txw1958/p/ServiceNumber-subscriptionNumber.html ...

  9. 微信公众平台与微信开放平台的区别、服务号、订阅号、企业微信的区别

    微信公众平台 vs 微信开放平台 微信公众平台是介绍公众号相关的内容,比如服务号.订阅号.企业微信,所以叫微信公众平台:公众平台也是公众号的管理端,可以编辑推送文章,通常是公众号的运营.开发登录: 微 ...

  10. 微信服务号和订阅号的五大区别,如何选择申请微信公众号

    微信公众号分个人和企业两种,目前个人只能申请订阅号,而且不能认证. 企业微信分为服务号和订阅号,服务号每个月只能推送4篇文章,订阅号每天都可以推送文章. 但是服务号的权限要比订阅号的权限要大. 微信服 ...

最新文章

  1. LeetCode简单题之使每位学生都有座位的最少移动次数
  2. 欧盟AI道德准则草案出炉
  3. 以太网输入输出处理的实现
  4. [云炬创业学笔记]第二章决定成为创业者测试15
  5. 《C语言编程——零基础初学者指南(第3版)》一第1章 什么是C程序设计1.1 什么是程序...
  6. 广度优先遍历算法-01寻找制高点问题
  7. 4g伪基站如何实现的
  8. 【Codeforces576E_CF576E】Painting Edges(可撤销并查集+线段树分治)
  9. 两组数据的偏差怎么算_数据随机性,如何利用游程检验来检测?
  10. 深度解读B2B与B2C营销策略的差异
  11. 后台界面也可以很酷!31个高大上的后台管理系统模版
  12. AssertionError: Torch not compiled with CUDA enabled
  13. Secure Multiparty Computation (MPC)
  14. 网站备案各个管局的审核时间多久?
  15. 小米Max详细刷成开发版开启Root超级权限的经验
  16. CNN with Attention---channal and spatial attention(转)
  17. 前端打包之后 运用nginx反向代理运行项目
  18. Acrobat 删除pdf页面
  19. Obsidian+SyncTrayzor打造个人文档云同步平台
  20. 软件测试之独步武林系列(一)

热门文章

  1. SFP光模块高低温老化测试 高低温试验测试设备
  2. 详解Provisional headers are shown
  3. 祥云发卡网站源码带详细图文搭建教程
  4. 学习笔记--爬虫(11)---js逆向思路和解密思路(初级)
  5. 桌面计算机找不到硬盘,bios找不到硬盘完美解决方法 选择STATConfigur
  6. DAC904硬件电路
  7. 机器学习与控制:ADMM的ODE模型与基于Lyapunov的收敛分析
  8. 人们常说的扩充计算机内存,电脑加大内存条有什么好处
  9. 基于微信小程序的投票系统源码
  10. Android酷炫计时器