Maison >Applet WeChat >Développement WeChat >Introduction à la méthode d'accès asp.net pour le développement WeChat

Introduction à la méthode d'accès asp.net pour le développement WeChat

高洛峰
高洛峰original
2017-03-20 13:41:261741parcourir

Nous allons développer la plateforme publique WeChat, et la première étape est bien sûr d'avoir un compte public. Quoi? Je ne sais pas ce qu'est un compte officiel WeChat, mais il semble qu'il faille d'abord recommencer à s'entraîner, haha. En termes simples, notre plateforme WeChat est comme une grande société, avec des individus et diverses organisations en son sein.

Si vous souhaitez développer WeChat, vous devez d'abord avoir un serveur, mais vous n'en avez pas. À l'heure actuelle, vous pouvez utiliser des coquilles de cacahuètes pour mapper l'intranet au réseau public, afin de pouvoir accéder à votre site Web sur le réseau public.

Ensuite, vous devez écrire un code d'accès, et seul PHP est un exemple sur WeChat. Ci-joint voici un exemple de asp.net.

Créez d'abord un Default.aspx. Enregistrez Page_Load : (MyLog est une classe de journal, qui peut être ignorée) Concernant checkSignature(), c'est presque la même chose que ce que vous avez trouvé. Postez-le ici

 MyLog.DebugInfo("request default.aspx");
 String echoStr = Request.QueryString["echostr"];
 MyLog.DebugInfo("echoStr:"+echoStr);
 if (this.checkSignature())
 {
 if(!string.IsNullOrEmpty(echoStr)){
 MyLog.DebugInfo("echostr:" + echoStr);
 Response.Write(echoStr);
 Response.End();
 }
 
 }

La chose la plus importante est la phrase Response.End(). Si vous n'ajoutez pas cette phrase, vous ne pouvez pas la connecter (j'espère que quelqu'un pourra me le dire). Concernant checkSignature(), c'est presque la même chose que ce que j'ai trouvé. Je publierai

private bool checkSignature()
{
 
 string signature = Request["signature"];
 string timestamp = Request["timestamp"];
 string nonce = Request["nonce"];
 MyLog.DebugInfo(String.Format("signature:{0},timestamp:{1},nonce:{2}", signature, timestamp, nonce));
 string token = TOKEN;
 string[] tmpArr = new string[] { token, timestamp, nonce };
 Array.Sort(tmpArr);
 string tmpStr = string.Join("", tmpArr);
 //sha1加密
 System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
 byte[] secArr = sha1.ComputeHash(System.Text.Encoding.Default.GetBytes(tmpStr));
 tmpStr = BitConverter.ToString(secArr).Replace("-", "").ToLower();
 MyLog.DebugInfo(String.Format("after parse:{0}", tmpStr));
 if (tmpStr == signature)
 {
 MyLog.DebugInfo("true");
 return true;
 }
 else
 {
 return false;
 }
}

ici principalement à cause du problème Response.End(), qui m'a fait travailler longtemps dessus. J'aimerais l'enregistrer ici. , dans l'espoir d'aider tous ceux qui le peuvent.

Il existe une autre possibilité que la vérification du jeton ait échoué à cause du serveur WeChat. Cliquez simplement 2 fois de plus, ne cliquez pas une seule fois comme moi ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn