.net微信公众号开发

  1. 微信公众号最近很火啊,玉景哥哥碰巧会一点,没错,哥哥我要授业了!

1,申请测试账号

微信的开发文档地址是 http://mp.weixin.qq.com/wiki/home/

进入微信开发文档,点击开始开发,里面有个 测试号申请

点击测试号申请后,会有个二维码,用你的微信扫一下就好了,进入之后你会到一个配置页面

   appid,相当于你的账号

   appsecret,相当于你的密码

   url 你服务器的网址,我这里用的IP,如果你没有服务器可以用自己的电脑公网IP

   Token 这个是你设置的,微信会和你的服务器匹配,(现在不要急着去配置,就现在这样是不可能成功的....)

TOKEN 是你自己设置的,这句话我们暂且先不管他,写服务器代码的时候自然就知道了

微信会根据你配置的URL发起http get请求,并且带有4个参数,建立和你配置服务器地址的连接 

接下来我们看一下连接规则

这里讲了4个参数

signature 这个是随机数时间戳和Token排序后,进行了shi1加密后的字符串

timestamp 这个时间戳

nonce 这个是随机数

token  你设置的Token

上面讲了微信那边的配置,仔细看一下就好,我们要做服务器端的开发,做完之后再去配置这些才可以连接成功

  1.     public class HomeController : Controller     {   
  2.     /// <summary>    
  3.     /// 注意这里,这个就是Token,你自己写的! 随便写,瞎写也行
  4.     /// </summary>     
  5.     public string Token { get { return "168465814689"; } }       
  6.    /// <summary>    
  7.    /// 微信请求的地址     
  8.    /// </summary>  
  9.    /// <param name="echostr">随机字符串,用于返回微信</param>      
  10.    /// <param name="signature">微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 </param>   
  11.    /// <param name="timestamp">时间戳 </param>     
  12.    /// <param name="nonce">随机数</param>      
  13.    /// <returns></returns>      
  14.    public object WeChat (string echostr, string signature, string timestamp, string nonce)      
  15.    {            
  16.        微信会向我这个页面发起Get请求
  17.         //调用一下...有点闲的       
  18.       return CheckSignature(echostr, signature, timestamp, nonce);  
  19.     }
  20.    /// <summary>    
  21.    /// 微信请求的地址      
  22.    /// </summary>      
  23.    /// <param name="echostr">随机字符串,用于返回微信</param>      
  24.    /// <param name="signature">微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 </param>     
  25.    /// <param name="timestamp">时间戳 </param>    
  26.    /// <param name="nonce">随机数</param>      
  27.    /// <returns></returns>   
  28.     public string CheckSignature(string echostr, string signature, string timestamp, string nonce)     
  29.     {        
  30.            string str= Token+ timestamp+ nonce;//将字符处连接,
  31.            str= FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");    //进行sha1加密      //.net高版本已经弃用
  32.            str= str.ToLower();
  33.             if (str== signature)    
  34.             return echostr; //判断成功,返回校验数据      
  35.             else                
  36.             return "";
  37.         }
  38.     }

              上面是服务器代码,以MVC为例

              接下来部署到IIS上,

             测试你的网站是否完成

      部署成功后我们回到微信页面

      在接口配置信息后点击修改,url填写你的网址,精确到控制器

      Token就是你自己写的!

    

          点击提交后如果成功会出现下面这样

不然也出这个页面不过上面写的是连接失败

   交流群号 460845632

   后面接着讲怎么在服务器做处理客户端发来的数据

  

原文地址:https://www.cnblogs.com/wangxianggong/p/5236587.html