设为首页 | 加入收藏

网站建设报价咨询,网站建设A套餐 网站建设报价咨询,网站建设B套餐 网站建设报价咨询,网站建设C套餐 网站建设报价咨询
网站建设知识
网络整合营销外包,长沙网站建设
您目前的位置:森达网络 >>网站建设知识
网站建设知识

长沙做网站公司专业制作asp.net微信公众平台

本文来源: 长沙微信开发      本文作者:长沙微信网站制作      发布时间:2017-09-14



随着移动设备的发展和壮大,大多数网站将以前的上网习惯搬到了可移动设备上了。随时随地可以浏览网页阅读新闻资讯,这其中必不可少的就是即时通信工具了,为了跟上网络发展的速度,长沙做网站公司为了能在微信平台站上脚跟,目前就推出了微信开发平台技术,帮助更多的企业进行微信营销。
  using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.IO;

using System.Xml;

using System.Text;

 

public partial class _Default : System.Web.UI.Page

{

     const string Token = "jj20hh13";//你的token

    protected void Page_Load(object sender, EventArgs e)

    {

//Valid();

        string postStr = "";

        if (Request.HttpMethod.ToLower() == "post")

        {

            Stream s = System.Web.HttpContext.Current.Request.InputStream;

            byte[] b = new byte[s.Length];

            s.Read(b, 0, (int)s.Length);

            postStr = Encoding.UTF8.GetString(b);

            if (!string.IsNullOrEmpty(postStr))

            {

                ResponseMsg(postStr);

            }

 

        }

    }

     #region 验证签名

    private void Valid()

    {

        string echoStr = Request.QueryString["echoStr"].ToString();

        if (CheckSignature())

        {

            if (!string.IsNullOrEmpty(echoStr))

            {

                Response.Write(echoStr);

                Response.End();

            }

        }

    }

    /// <summary>

    /// 验证微信签名

    /// </summary>

    /// <returns></returns>

    private bool CheckSignature()

    {

        string signature = Request.QueryString["signature"].ToString();

        string timestamp = Request.QueryString["timestamp"].ToString();

        string nonce = Request.QueryString["nonce"].ToString();

        string[] ArrTmp = { Token, timestamp, nonce };

        Array.Sort(ArrTmp);//字典排序

        string tmpStr = string.Join("", ArrTmp);

        tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//对该字符串进行sha1加密

        tmpStr = tmpStr.ToLower();//对字符串中的字母部分进行小写转换,非字母字符不作处理

        if (tmpStr == signature)//开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

        {

            return true;

        }

        else

            return false;

    }

    #endregion

 

    /// <summary>

    /// 返回信息结果(微信信息返回)

    /// </summary>

    /// <param name="weixinXML"></param>

    private void ResponseMsg(string weixinXML)

    {

        //回复消息的部分:你的代码写在这里

        XmlDocument doc = new XmlDocument();

        doc.LoadXml(weixinXML);

        XmlNodeList list = doc.GetElementsByTagName("xml");

        XmlNode xn = list[0];

        string FromUserName = xn.SelectSingleNode("//FromUserName").InnerText;

        string ToUserName = xn.SelectSingleNode("//ToUserName").InnerText;

        string content = "";

        content = xn.SelectSingleNode("//Content").InnerText;

        //string content = "";// doc.GetElementsByTagName("content").Item(0).ToString();

        if (content.Equals("Hello2BizUser"))

        {

            content = "欢迎关注!";

        }

        else

        {

            content = "现在是北京时间:" + string.Format("{0:f}", DateTime.Now);

        }

        string strresponse = "<xml>";

        strresponse = strresponse + "<ToUserName><![CDATA[" + FromUserName + "]]></ToUserName>";

        strresponse = strresponse + "<FromUserName><![CDATA[" + ToUserName + "]]></FromUserName>";

        strresponse = strresponse + "<CreateTime>" + DateTime.Now.Ticks.ToString() + "</CreateTime>";

        strresponse = strresponse + "<MsgType><![CDATA[text]]></MsgType>";

        strresponse = strresponse + "<Content><![CDATA[" + content + "]]></Content>";

        strresponse = strresponse + "<FuncFlag>0<FuncFlag>";

        strresponse = strresponse + "</xml>";

        WriteLog("postStr:" + content);

        Response.Write(strresponse);

    }

 

    /// <summary>

    /// 写日志(用于跟踪)

    /// </summary>

    private void WriteLog(string strMemo)

    {

        if (!Directory.Exists(Server.MapPath(@"logs\")))

        {

            Directory.CreateDirectory(Server.MapPath(@"logs\"));

        }

        string filename = Server.MapPath(@"logs/log.txt");

        StreamWriter sr = null;

        try

        {

            if (!File.Exists(filename))

            {

                sr = File.CreateText(filename);

            }

            else

            {

                sr = File.AppendText(filename);

            }

            sr.WriteLine(strMemo);

        }

        catch

        {

        }

        finally

        {

            if (sr != null)

                sr.Close();

        }

    }

本文有长沙专业做网站公司整理,转载请注明www.sendawangluo.com

版权所有:长沙森达网络工作室2011-2016 All Rights Reserved 地址:长沙市岳麓区中电软件园总部大楼 网站备案号:湘ICP备11005944号