微信公众平台开发(二)

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

一、实现URL接入

相关参数描述

[flash=500,400]http://s1.knowsky.com/20160211/w3gxy3d1vrs04.jpg[/flash]

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Web;namespaceWeiXinWebapplication{publicclassCheckSignature

{///<summary>///网站没有提供Token情况下的默认Token///</summary>publicconststringToken ="weixin";///<summary>///检查签名是否正确///</summary>///<param name="signature">微信加密签名</param>///<param name="timestamp">时间戳</param>///<param name="nonce">随机数</param>///<param name="token"></param>///<returns></returns>publicstaticboolCheck(stringsignature,stringtimestamp,stringnonce,stringtoken)

{returnsignature ==GetSignature(timestamp, nonce, token);

}///<summary>///返回正确的签名///</summary>///<param name="timestamp"></param>///<param name="nonce"></param>///<param name="token"></param>///<returns></returns>publicstaticstringGetSignature(stringtimestamp,stringnonce,stringtoken =Token)

{

token= token ??Token;string[] arr =new[] {token,timestamp,nonce }.OrderBy(z=>z).ToArray();stringarrString =string.Join("",arr);

System.Security.Cryptography.SHA1 shal=System.Security.Cryptography.SHA1.Create();byte[] shalArr =shal.ComputeHash(Encoding.UTF8.GetBytes(arrString));

StringBuilder enText=newStringBuilder();foreach(varbinshalArr)

{

enText.AppendFormat("{0:x2}",b);

}returnenText.ToString();

}

}

}

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;namespaceWeiXinWebApplication

{publicpartialclassIndex : System.Web.UI.Page

{///<summary>///与微信公众账号后台的Token设置保持一致,区分大小写///</summary>PRivatereadonlystringToken ="weixin";protectedvoidPage_Load(objectsender, EventArgs e)

{

Auth();

}///<summary>///处理微信服务器验证消息///</summary>privatevoidAuth()

{stringsignature = Request["signature"];stringtimestamp = Request["timestamp"];stringnonce = Request["nonce"];stringechostr = Request["echostr"];if(Request.HttpMethod =="GET")

{if(CheckSignature.Check(signature, timestamp, nonce, Token))

{

WriteContent(echostr);

}else{

WriteContent("failed:"+ signature +","+ CheckSignature.GetSignature(timestamp, nonce, Token) +"."+"如果你在浏览器中看到这句话,说明此地址可以被作为微信公众号后台的URL,请注意保持Token一致。");

}

Response.End();

}

}privatevoidWriteContent(stringstr)

{

Response.Output.Write(str);

}

}

}

二、接入微信公众平台

[flash=500,400]http://s1.knowsky.com/20160211/bd5z4hhrlhd04.png[/flash]

这样我们就成功实现了URL接入微信公众平台的工作。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航