• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    微信公众平台开发之认证成为开发者.Net代码解析

    .Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下

    这些代码也就开始认证的时候用一次,以后就不用了:

    const string Token = "XXXXX";//你的token 
    protected void Page_Load(object sender, EventArgs e) 
    { 
      string postStr = ""; 
      if (Request.HttpMethod.ToLower() == "post") 
      { 
        System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream; 
        byte[] b = new byte[s.Length]; 
        s.Read(b, 0, (int)s.Length); 
        postStr = System.Text.Encoding.UTF8.GetString(b); 
        if (!string.IsNullOrEmpty(postStr)) 
        { 
          //ResponseMsg(postStr); 
          Response.Write(ResponseMsg(postStr)); 
          Response.End(); 
        } 
       //WriteLog("postStr:" + postStr); 
      } 
      else 
      { 
        Valid(); 
      } 
    }    
     
    /// summary> 
    /// 验证微信签名 
    /// /summary> 
    /// * 将token、timestamp、nonce三个参数进行字典序排序 
    /// * 将三个参数字符串拼接成一个字符串进行sha1加密 
    /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 
    /// 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"); 
      tmpStr = tmpStr.ToLower(); 
      if (tmpStr == signature) 
      { 
        return true; 
      } 
      else 
      { 
        return false; 
      } 
    } 
    .private void Valid() 
    { 
      string echoStr = Request.QueryString["echoStr"].ToString(); 
      if (CheckSignature()) 
      { 
        if (!string.IsNullOrEmpty(echoStr)) 
        { 
          Response.Write(echoStr); 
          Response.End(); 
        } 
      } 
    }    
     
    /// summary> 
    /// 写日志(用于跟踪) 
    /// /summary> 
    private void WriteLog(string strMemo) 
    { 
      string filename = Server.MapPath("/logs/log.txt"); 
      if (!Directory.Exists(Server.MapPath("//logs//"))) 
        Directory.CreateDirectory("//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微信开发之如何解决access_token过期问题
    • 微信公众平台开发之语音识别.Net代码解析
    • 微信公众平台开发之获得ACCESSTOKEN .Net代码解析
    • ASP.NET实现QQ、微信、新浪微博OAuth2.0授权登录
    • asp.net实现微信公众账号接口开发教程
    • ASP.NET微信开发(接口指南)
    • asp.net微信开发(高级群发图文)
    • asp.net微信开发(已关注用户管理)
    • asp.net微信开发(开发者接入)
    • 微信公众号支付(MVC版本)
    上一篇:ABP框架中的日志功能完全解析
    下一篇:解读ASP.NET 5 & MVC6系列教程(6):Middleware详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    微信公众平台开发之认证成为开发者.Net代码解析 微信,公众,平台,开,发之,