海南中立科技 旗下:精英网|海微商|海微信|天涯数码
网站首页home 网站建设web Const 系统开发System Dev 微信开发wx Dev 网站推广Website SEO 网站超市Website SM 客户案例Client case 网站模板Web template 关于我们About us
微信开发
微信系统开发 微信开发功能 公众号基础教程 开发技术资讯 公众号推广营销 客户案例
联系我们
QQ服务群:28519571 工作时间:86-0898-31568080 传真号码:86-0898-31568085 24小时服务:0138-07590485
 您现在的位置: 首页 >> 微信开发 >> 开发技术资讯 开发技术资讯
.NET 微信开放平台接口
海南中立科技 | 2018-01-26 23:49:25 | 阅读:1777
<%@WebHandlerLanguage="C#"Class="WeixinInterface"%>usingSystem;usingSystem.Web;publicclassWeixinInterface:IHttpHandler{HttpContextcontext=null;stringpostStr="";publicvoidProcessRequest(HttpContextparam_context){context=param_context;//以写日志为荣,以打断点为耻.//WriteLog("beforevalidn");//valid();//用于验证//WriteLog("aftervalid,beforepostn");if(context.Request.HttpMethod.ToLower()=="post"){System.IO.Streams=context.Request.InputStream;byte[]b=newbyte[s.Length];s.Read(b,0,(int)s.Length);postStr=System.Text.Encoding.UTF8.GetString(b);if(!string.IsNullOrEmpty(postStr)){responseMsg(postStr);}//WriteLog("-------AfterResponseMsg:-------n"+postStr);}}publicvoidvalid(){varechostr=context.Request["echoStr"].ToString();if(checkSignature()&&!string.IsNullOrEmpty(echostr)){context.Response.Write(echostr);context.Response.End();//推送...不然微信平台无法验证token}}publicboolcheckSignature(){varsignature=context.Request["signature"].ToString();vartimestamp=context.Request["timestamp"].ToString();varnonce=context.Request["nonce"].ToString();vartoken="faketoken";string[]ArrTmp={token,timestamp,nonce};Array.Sort(ArrTmp);//字典排序stringtmpStr=string.Join("",ArrTmp);tmpStr=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,"SHA1");tmpStr=tmpStr.ToLower();if(tmpStr==signature){returntrue;}else{returnfalse;}}publicstringGetSha1(System.Collections.Generic.Listcodelist){codelist.Sort();varcombostr=string.Empty;for(inti=0;i<codelist.Count;i++){combostr+=codelist;}returnEncryptToSHA1(combostr);}publicstringEncryptToSHA1(stringstr){System.Security.Cryptography.SHA1CryptoServiceProvidersha1=newSystem.Security.Cryptography.SHA1CryptoServiceProvider();byte[]str1=System.Text.Encoding.UTF8.GetBytes(str);byte[]str2=sha1.ComputeHash(str1);sha1.Clear();(sha1asIDisposable).Dispose();returnConvert.ToBase64String(str2);}publicvoidresponseMsg(stringpostStr){System.Xml.XmlDocumentpostObj=newSystem.Xml.XmlDocument();postObj.LoadXml(postStr);WriteLog("responseMsg:-------"+postStr);varFromUserNameList=postObj.GetElementsByTagName("FromUserName");stringFromUserName=string.Empty;for(inti=0;i<FromUserNameList.Count;i++){if(FromUserNameList.ChildNodes[0].NodeType==System.Xml.XmlNodeType.CDATA){FromUserName=FromUserNameList.ChildNodes[0].Value;}}vartoUsernameList=postObj.GetElementsByTagName("ToUserName");stringToUserName=string.Empty;for(inti=0;i<toUsernameList.Count;i++){if(toUsernameList.ChildNodes[0].NodeType==System.Xml.XmlNodeType.CDATA){ToUserName=toUsernameList.ChildNodes[0].Value;}}varkeywordList=postObj.GetElementsByTagName("Content");stringContent=string.Empty;for(inti=0;i<keywordList.Count;i++){if(keywordList.ChildNodes[0].NodeType==System.Xml.XmlNodeType.CDATA){Content=keywordList.ChildNodes[0].Value;}}vartime=DateTime.Now;vartextpl=""+""+""+ConvertDateTimeInt(DateTime.Now)+""+"0";context.Response.Write(textpl);context.Response.End();}privateDateTimeUnixTimeToTime(stringtimeStamp){DateTimedtStart=TimeZone.CurrentTimeZone.ToLocalTime(newDateTime(1970,1,1));longlTime=long.Parse(timeStamp+"0000000");TimeSpantoNow=newTimeSpan(lTime);returndtStart.Add(toNow);}privateintConvertDateTimeInt(System.DateTimetime){System.DateTimestartTime=TimeZone.CurrentTimeZone.ToLocalTime(newSystem.DateTime(1970,1,1));return(int)(time-startTime).TotalSeconds;}privatevoidWriteLog(stringstrMemo){stringfilename="D:/WEBHOME/logs/log.txt";if(!System.IO.Directory.Exists("D:/WEBHOME/logs/"))System.IO.Directory.CreateDirectory("D:/WEBHOME/logs/");System.IO.StreamWritersr=null;try{if(!System.IO.File.Exists(filename)){sr=System.IO.File.CreateText(filename);}else{sr=System.IO.File.AppendText(filename);}sr.WriteLine(strMemo);}catch{}finally{if(sr!=null)sr.Close();}}publicboolIsReusable{get{returnfalse;}}}复制代码1.如果是为了验证微信接口的token是否通过,将valid注释去掉2.如果要返回给用户值,注释掉valid
海南网络公司|海口网站建设|海南网站优化|海南网站设计|海南网络推广|海南网页设计|南通网站建设|海南网站建设|海赋灯光音响|广州沣韵|海南企业微信|天涯数码|海南精英网|海南微信建站|海南中立科技|海南微信营销|海南微信电商|海南网站建设|海南网站制作|海口网站建设|三亚网站建设|儋州网站建设|五指山网站建设|文昌网站建设|琼海网站建设|万宁网站建设|东方网站建设|定安网站建设|屯昌网站建设|澄迈网站建设|临高网站建设|白沙网站建设|昌江网站建设|乐东网站建设|陵水网站建设|保亭网站建设|琼中网站建设
合作伙伴 企业发展 企业文化 联系我们 在线订购 网站地图 返回首页手机版
海南中立科技有限公司2019版权所有 24小时服务热线:13807590485   欢迎来电咨询
地址:海南省.海口市.海甸二东路环惠大厦6楼(南宝路明都大厦107#) 公司电话:0898-31568080 31568060 QQ:85398489
全国合作联盟分布:海南海口 四川成都 湖北武汉 湖南长沙 安徽合肥 广东深圳 山西太原 西藏拉萨
技术服务: E_mail:zlkj_2008@126.com 服务订购:E_mail:server@web0898.net 在线客服邀请 备案/经营许可号:琼ICP备10201086号-9
推广关键字:海南网站建设公司,海南网站制作公司,海南网站开发公司,海南微信开发公司,海南微信公众号开发公司,海南微信公众号代运营公司,海南模板网站制作公司,海南网页设计公司,海南网络公司

在线客服 业务咨询 备案咨询
扫描直接联系