婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > .net開發微信公眾平臺實例教程

.net開發微信公眾平臺實例教程

熱門標簽:百度地圖怎樣做地圖標注 浦發電話機器人提醒還款 400電話如何申請取消 電銷語音機器人型號參數 柳州電銷機器人公司 征途美甲店地圖標注 騰訊地圖標注手機 太原400電話上門辦理 昆明語音電銷機器人價格

本文實例講述了.net開發微信公眾平臺的方法。分享給大家供大家參考。具體實現方法如下:

一、說明:

公眾平臺信息接口為開發者提供了一種新的消息處理方式,只有申請成為開發者后,你才能使用公眾平臺的開發功能,在這里你需要填寫一個URL和一個Token,這兩項信息也需要你擁有自己的服務器(外網服務器)資源,其中的Token可由開發者任意填寫,URL即是接口配置信息的鏈接地址,在本文中我采用的是創建一個簡易網站的方式,在其中的一個頁面的后臺程序中配置相關的接口信息,然后發布到外網服務器上,最后可以訪問到這個頁面的鏈接地址即是這里應該填寫的URL。

二、接口配置過程:

1.網址接入-校驗簽名:

復制代碼 代碼如下:
const string Token = "aka";//定義一個局部變量不可以被修改,這里定義的變量要與接口配置信息中填寫的Token一致
protected void Page_Load(object sender, EventArgs e)
{
        string postStr = "";
        Valid();//校驗簽名,當填入的信息提交之后頁面有提示“你已成功成為公眾平臺開發者,可以使用公眾平臺的開發功能”這個的時候,接下來你就需要注釋掉這個校驗的方法,使得后面的消息回復得以正常運作
        if (Request.HttpMethod.ToLower() == "post")//當普通微信用戶向公眾賬號發消息時,微信服務器將POST該消息到填寫的URL上
        {
            postStr = PostInput();
            if (string.IsNullOrEmpty(postStr) == false)
            {
                //WriteLog(postStr,Server);//計入日記
                ResponseMsg(postStr);
            }
        }
}
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();//對字符串中的字母部分進行小寫轉換,非字母字符不作處理
        //WriteLog(tmpStr, Server);//計入日志
        if (tmpStr == signature)//開發者獲得加密后的字符串可與signature對比,標識該請求來源于微信。開發者通過檢驗signature對請求進行校驗,若確認此次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,否則接入失敗
        {
            return true;
        }
        else
            return false;
}

/// summary>
/// 獲取post返回來的數據
/// /summary>
/// returns>/returns>
private string PostInput()
{
        Stream s = System.Web.HttpContext.Current.Request.InputStream;
        byte[] b = new byte[s.Length];
        s.Read(b, 0, (int)s.Length);
        return Encoding.UTF8.GetString(b);
}

/// summary>
///返回微信信息結果
/// /summary>
/// param name="weixinXML">/param>
private void ResponseMsg(string weixinXML)
{
        try
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(weixinXML);//讀取XML字符串
            XmlElement rootElement = doc.DocumentElement;

            XmlNode MsgType = rootElement.SelectSingleNode("MsgType");//獲取字符串中的消息類型

            string resxml = "";
            if (MsgType.InnerText == "text")//如果消息類型為文本消息
            {
                var model = new
                {
                    ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                    FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                    CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                    MsgType = MsgType.InnerText,
                    Content = rootElement.SelectSingleNode("Content").InnerText,
                    MsgId = rootElement.SelectSingleNode("MsgId").InnerText
                };
                resxml += "xml>ToUserName>![CDATA[" + model.FromUserName + "]]>/ToUserName>FromUserName>![CDATA[" + model.ToUserName + "]]>/FromUserName>CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "/CreateTime>";
                if (!string.IsNullOrEmpty(model.Content))//如果接收到消息
                {
                    if (model.Content.Contains(" 你好") || model.Content.Contains(" 好") || model.Content.Contains("hi") || model.Content.Contains("hello"))// 你好
                    {
                        resxml += "MsgType>![CDATA[text]]>/MsgType>Content>![CDATA[你好,有事請留言,偶會及時回復你的。]]>/Content>FuncFlag>0/FuncFlag>/xml>";
                    }

                 }

                 else//沒有接收到消息
                {
                    resxml += "MsgType>![CDATA[text]]>/MsgType>Content>![CDATA[親,感謝您對我的關注,有事請留言。]]>/Content>FuncFlag>0/FuncFlag>/xml>";
                }

                Response.Write(resxml);
            }
            if (MsgType.InnerText == "image")//如果消息類型為圖片消息
            {
                var model = new
                {
                    ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                    FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                    CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                    MsgType = MsgType.InnerText,
                    PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText,
                    MsgId = rootElement.SelectSingleNode("MsgId").InnerText
                };
                resxml += "xml>ToUserName>![CDATA[" + model.FromUserName + "]]>/ToUserName>FromUserName>![CDATA[" + model.ToUserName + "]]>/FromUserName>CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "/CreateTime>MsgType>![CDATA[news]]>/MsgType>ArticleCount>1/ArticleCount>Articles>item>Title>![CDATA[歡迎您的光臨!]]>/Title>Description>![CDATA[非常感謝您的關注!]]>/Description>PicUrl>![CDATA[http://...jpg]]>/PicUrl>Url>![CDATA[http://www.baidu.com/]]>/Url>/item>/Articles>FuncFlag>0/FuncFlag>/xml>";
                Response.Write(resxml);
            }
            else//如果是其余的消息類型
            {
                var model = new
                {
                    ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText,
                    FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText,
                    CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText,
                };
                resxml += "xml>ToUserName>![CDATA[" + model.FromUserName + "]]>/ToUserName>FromUserName>![CDATA[" + model.ToUserName + "]]>/FromUserName>CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "/CreateTime>MsgType>![CDATA[text]]>/MsgType>Content>![CDATA[親,感謝您對我的關注,有事請留言,我會及時回復你的哦。]]>/Content>FuncFlag>0/FuncFlag>/xml>";
                Response.Write(resxml);
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
        Response.End();

}
/// summary>
/// datetime轉換成unixtime
/// /summary>
/// param name="time">/param>
/// returns>/returns>
private int ConvertDateTimeInt(System.DateTime time)
{
        System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
        return (int)(time - startTime).TotalSeconds;
}
/// summary>
/// 寫日志(用于跟蹤),可以將想打印出的內容計入一個文本文件里面,便于測試
/// /summary>
public static void WriteLog(string strMemo, HttpServerUtility server)
{
        string filename = server.MapPath("/logs/log.txt");//在網站項目中建立一個文件夾命名logs(然后在文件夾中隨便建立一個web頁面文件,避免網站在發布到服務器之后看不到預定文件)
        if (!Directory.Exists(server.MapPath("http://logs//")))
            Directory.CreateDirectory("http://logs//");
        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();
        }
}

希望本文所述對大家的.net程序設計有所幫助。

您可能感興趣的文章:
  • 微信小程序 獲取微信OpenId詳解及實例代碼
  • MVC微信網頁授權獲取用戶OpenId
  • PHP通過微信跳轉的Code參數獲取用戶的openid(關鍵代碼)
  • 微信公眾號支付(一)如何獲取用戶openId
  • 微信公眾平臺實現獲取用戶OpenID的方法
  • .net實現微信公眾賬號接口開發實例代碼
  • asp.net微信開發(永久素材管理)
  • asp.net開發微信公眾平臺之獲取用戶消息并處理
  • asp.net微信開發(開發者接入)
  • .NET微信公眾號獲取OpenID和用戶信息

標簽:新疆 白山 陽泉 張家界 蘭州 江蘇 天門 德陽

巨人網絡通訊聲明:本文標題《.net開發微信公眾平臺實例教程》,本文關鍵詞  .net,開發,微信,公眾,平臺,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.net開發微信公眾平臺實例教程》相關的同類信息!
  • 本頁收集關于.net開發微信公眾平臺實例教程的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品久久久久久久久免费丝袜 | 中文字幕高清一区| 日本精品一区二区三区高清| 国产一区二区三区在线观看免费 | 色8久久精品久久久久久蜜| 日韩成人精品在线| 亚洲综合色视频| 亚洲成人自拍网| 亚洲国产精品尤物yw在线观看| 中文字幕中文字幕一区| 中文字幕二三区不卡| 国产女人aaa级久久久级 | 欧美在线999| 色视频成人在线观看免| 91蝌蚪国产九色| 欧美性一二三区| 欧美日韩精品一区二区三区| 欧美曰成人黄网| 欧美精品亚洲二区| 日韩精品中文字幕一区二区三区| 日韩欧美国产精品| 久久日韩粉嫩一区二区三区| 亚洲综合区在线| 亚洲国产va精品久久久不卡综合| 久久精品国产**网站演员| 欧美日韩一区三区四区| 欧美精品一区二区三区在线播放| 亚洲欧美自拍偷拍色图| 国产不卡高清在线观看视频| 精品免费日韩av| 激情综合网天天干| 精品99一区二区三区| 免费高清成人在线| 日韩欧美中文字幕制服| 91成人在线免费观看| 色噜噜偷拍精品综合在线| 欧美一级午夜免费电影| 亚洲欧美日本在线| 成人小视频在线| 精品国产制服丝袜高跟| 亚洲乱码一区二区三区在线观看| 喷白浆一区二区| 欧美中文字幕一二三区视频| 久久午夜国产精品| 日韩1区2区日韩1区2区| 欧美视频在线播放| 一区二区高清免费观看影视大全 | 亚洲天堂av老司机| 99久久精品国产观看| 日本一区二区综合亚洲| 国产成人在线免费观看| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩一区二区三区免费看| 视频一区二区不卡| 国产真实乱对白精彩久久| 国产网站一区二区| 欧美精品aⅴ在线视频| 国产在线看一区| 国产精品一区二区久激情瑜伽| 日韩欧美中文字幕一区| 青娱乐精品在线视频| av高清久久久| 午夜欧美2019年伦理| 欧美日韩视频在线第一区| 日日夜夜精品视频免费| 精品蜜桃在线看| 日韩一区二区免费在线电影| 成人动漫一区二区| 9l国产精品久久久久麻豆| 国产精品欧美一级免费| 国产91高潮流白浆在线麻豆| 久久精品国产亚洲一区二区三区| 三级欧美在线一区| 不卡的av电影| 国产欧美日韩久久| 日韩电影在线观看一区| 欧洲亚洲精品在线| 91精品久久久久久久99蜜桃| 欧美羞羞免费网站| 国产大陆a不卡| 国产精品一区专区| 国产精品超碰97尤物18| 亚洲国产成人精品视频| 日韩一区有码在线| 五月激情综合网| 亚洲国产日日夜夜| 亚洲一区二区三区在线| 亚洲成人一区在线| 日韩一二三区视频| 欧美成人性战久久| 日韩精品中文字幕一区二区三区 | 免费在线看一区| 国产在线不卡视频| 粗大黑人巨茎大战欧美成人| 色8久久精品久久久久久蜜| 欧美日本一道本在线视频| 欧美电视剧在线观看完整版| 国产欧美日韩另类一区| 亚洲欧美日本韩国| 日本va欧美va精品发布| 国产·精品毛片| 在线精品视频一区二区| 日韩写真欧美这视频| 国产欧美精品区一区二区三区 | 亚洲精品久久7777| 日本伊人色综合网| 国产成人精品在线看| 91老师国产黑色丝袜在线| 欧美日韩黄色影视| 久久久久久久久97黄色工厂| 自拍偷在线精品自拍偷无码专区| 性欧美疯狂xxxxbbbb| 国产精品资源在线| 91福利国产成人精品照片| 精品国产精品一区二区夜夜嗨| 中文字幕一区二区视频| 日韩av中文字幕一区二区三区| 国产精品一卡二卡| 欧美日韩国产在线观看| 中文字幕不卡的av| 日韩国产欧美一区二区三区| av不卡免费在线观看| 欧美一区二区三区四区五区| 成人免费在线视频观看| 国产亲近乱来精品视频| 午夜亚洲福利老司机| 国产91精品一区二区麻豆网站 | 久久久蜜桃精品| 亚洲一区自拍偷拍| 国产一区二区毛片| 欧美色成人综合| 国产精品久久久久精k8| 奇米精品一区二区三区在线观看一| av在线播放一区二区三区| 精品国产91洋老外米糕| 亚洲六月丁香色婷婷综合久久| 久草这里只有精品视频| 欧美日韩你懂的| 亚洲黄一区二区三区| 国产成人一级电影| 欧美成人女星排行榜| 午夜久久电影网| 色94色欧美sute亚洲线路一ni | 美女一区二区视频| 欧美视频日韩视频| 亚洲视频一区二区在线| 久久91精品国产91久久小草| 欧美日韩高清一区二区| 中文字幕色av一区二区三区| 国产一区二区不卡在线| 日韩欧美色综合| 日本午夜一区二区| 欧美日韩黄色影视| 亚洲国产美国国产综合一区二区| 99久久99久久综合| 国产精品视频麻豆| 国产河南妇女毛片精品久久久| 精品国产91洋老外米糕| 久久成人免费电影| 日韩欧美国产一区在线观看| 久久精品国产秦先生| 日韩欧美色综合| 久久99热国产| 精品嫩草影院久久| 国产精品一级片| 国产精品视频yy9299一区| 丰满亚洲少妇av| 国产精品人妖ts系列视频| 成人免费av在线| 亚洲国产精品ⅴa在线观看| 国产成人精品免费视频网站| 久久久国际精品| 99在线精品视频| 亚洲日本青草视频在线怡红院| 北条麻妃国产九九精品视频| 亚洲女与黑人做爰| 欧美在线观看视频在线| 无码av免费一区二区三区试看| 欧美日韩国产一二三| 日本系列欧美系列| 欧美精品一区二区三区蜜臀| 国产成人午夜视频| 亚洲欧美一区二区久久| 欧美在线制服丝袜| 午夜精品久久久久久久久久久| 欧美一级日韩不卡播放免费| 久久99久久精品欧美| 国产女人18水真多18精品一级做| 99综合影院在线| 亚洲成人免费电影| 日韩免费在线观看| 国产xxx精品视频大全| 综合欧美亚洲日本| 欧美日韩久久不卡| 国内精品在线播放| 综合电影一区二区三区 | 亚洲一区二区综合| 欧美一级二级在线观看| 大白屁股一区二区视频| 亚洲一卡二卡三卡四卡无卡久久 |