




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】如何使用C#开发微信
这篇文章主要介绍如何使用C#开发微信,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.必须有微信公众账号2.你也可以申请测试微信号,链接给你/debug/cgi-bin/sandbox?t=sandbox/login然后,建立mvc,你只需要点几下vs就帮你搞定了。这不废话接着,要创建一个一般处理程序,随便起个名字,测试通过才是重点,抓紧时间……///
<summary>
///
验证微信签名
///
</summary>
///
<returns></returns>
///
*
将token、timestamp、nonce三个参数进行字典序排序
///
*
将三个参数字符串拼接成一个字符串进行sha1加密
///
*
开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
private
bool
CheckSignature()
{
var
token
=
"token";
var
signature
=
HttpContext.Current.Request.QueryString["signature"];
var
timestamp
=
HttpContext.Current.Request.QueryString["timestamp"];
var
nonce
=
HttpContext.Current.Request.QueryString["nonce"];
var
echostr
=
HttpContext.Current.Request.QueryString["echostr"];
string[]
ArrTmp
=
{
token,
timestamp,
nonce
};
Array.Sort(ArrTmp);
//字典排序
var
tmpStr
=
string.Join("",
ArrTmp);
tmpStr
=
FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,
"SHA1");//加密方式
if
(tmpStr.ToLower()
==
signature)
{
return
true;
}
return
false;
}这代码相当于是跟微信公众号中【开发】--》【基本配置】里面你所写的Token一个一对一令牌通信握手,只要互相通了,那么你就算是搞定了!搞定是后话,还有工作没做完,接着写!怎么配置,这是问题,哎只能用花生壳给测试先,至少要知道玩了半天是不是通的!看下图:左边花生壳配置右边iis网站发布绑定看到这图,你也明白下一步怎么玩了吧。本地iis配上了域名。这简直屌爆了…………下面。我们加上代码。设置发送和自动回复测试,看看能不能玩
#region
接收消息
///
<summary>
///
接收微信发送的XML消息并且解析
///
</summary>
private
void
ReceiveXml()
{
var
requestStream
=
HttpContext.Current.Request.InputStream;
var
requestByte
=
new
byte[requestStream.Length];
requestStream.Read(requestByte,
0,
(int)requestStream.Length);
var
requestStr
=
Encoding.UTF8.GetString(requestByte);
if
(!string.IsNullOrEmpty(requestStr))
{
//封装请求类
var
requestDocXml
=
new
XmlDocument();
requestDocXml.LoadXml(requestStr);
var
rootElement
=
requestDocXml.DocumentElement;
if
(rootElement
==
null)
return;
var
wxXmlModel
=
new
WxXmlModel
{
ToUserName
=
rootElement.SelectSingleNode("ToUserName").InnerText,
FromUserName
=
rootElement.SelectSingleNode("FromUserName").InnerText,
CreateTime
=
rootElement.SelectSingleNode("CreateTime").InnerText,
MsgType
=
rootElement.SelectSingleNode("MsgType").InnerText
};
switch
(wxXmlModel.MsgType)
{
case
"text"://文本
wxXmlModel.Content
=
rootElement.SelectSingleNode("Content").InnerText;
break;
case
"image"://图片
wxXmlModel.PicUrl
=
rootElement.SelectSingleNode("PicUrl").InnerText;
break;
case
"event"://事件
wxXmlModel.Event
=
rootElement.SelectSingleNode("Event").InnerText;
if
(wxXmlModel.Event
!=
"TEMPLATESENDJOBFINISH")//关注类型
{
wxXmlModel.EventKey
=
rootElement.SelectSingleNode("EventKey").InnerText;
}
break;
default:
break;
}
ResponseXML(wxXmlModel);//回复消息
}
}
#endregion
#region
回复消息
private
void
ResponseXML(WxXmlModel
WxXmlModel)
{
var
QrCodeApi
=
new
QrCodeApi();
var
XML
=
"";
switch
(WxXmlModel.MsgType)
{
case
"text"://文本回复
XML
=
ResponseMessage.GetText(WxXmlModel.FromUserName,
WxXmlModel.ToUserName,
WxXmlModel.Content);
break;
case
"event":
switch
(WxXmlModel.Event)
{
case
"subscribe":
if
(string.IsNullOrEmpty(WxXmlModel.EventKey))
{
XML
=
ResponseMessage.GetText(WxXmlModel.FromUserName,
WxXmlModel.ToUserName,
"关注成功");
}
else
{
XML
=
ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName,
WxXmlModel.ToUserName,
WxXmlModel.EventKey);//扫描带参数二维码先关注后推送事件
}
break;
case
"SCAN":
XML
=
ResponseMessage.ScanQrcode(WxXmlModel.FromUserName,
WxXmlModel.ToUserName,
WxXmlModel.EventKey);//扫描带参数二维码已关注
直接推送事件
break;
}
break;
default://默认回复
break;
}
HttpContext.Current.Response.Write(XML);
HttpContext.Current.Response.End();
}
#endregion上面一个发送,一个接收,还是在WhApi.ashx处理程序文件里面。我就想说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CNFAGS 15-2024绿色合成氨分级标准(试行)
- T/CCS 038-2023无人快速定量智能装车系统技术规范
- 正规劳动合同书电子版6篇
- 租房合同家私家电补充协议7篇
- 上海核酸检测试题及答案
- 中投集合资金信托合同3篇
- 【7语期末】涡阳县2023-2024学年七年级下学期期末考试语文试题
- 房屋交易资金代收代付协议与房屋使用权转让合同3篇
- 大道十字段建设项目劳务作业合同5篇
- 民族建筑装饰设计与应用
- 中医科常见病诊疗指南及操作规范
- 中文版 冷轧不锈钢板材、薄板和带材
- 医疗废物管理PPT演示课件
- 装车前后车载供氢系统气密性检测报告编写格式
- 物流托运单模板
- 高等代数课件(北大版)第九章 欧式空间§9.1.1
- 陪诊师资格考试复习题库宝典(含答案)
- 宫腔粘连临床路径
- 2023年全国统一高考历史试卷(新课标)(含解析)
- 国开(中央电大)本科《中国当代文学专题》网上形考(任务二至六)试题及答案
- 2023学年完整公开课版破十法
评论
0/150
提交评论