WeChat 공개 플랫폼을 개발할 예정이며, 첫 번째 단계는 당연히 공개 계정을 갖는 것입니다. 무엇? 위챗 공식 계정이 뭔지는 모르겠지만 일단 연습부터 하셔야 할 것 같네요, 하하. 일반인의 관점에서 WeChat 플랫폼은 개인과 다양한 조직이 포함된 큰 사회와 같습니다.
위챗을 개발하려면 먼저 서버가 있어야 하는데 서버가 없습니다. 이때 피넛쉘을 사용하여 인트라넷을 공용 네트워크에 매핑함으로써 공용 네트워크에서 웹 사이트에 접속할 수 있습니다.
그런 다음 액세스 코드를 작성해야 하며 위챗에서는 PHP만 예시입니다. 여기에 첨부된 내용은 asp.net의 예입니다.
먼저 Default.aspx를 만듭니다. Page_Load 체크인: (MyLog는 무시할 수 있는 로그 클래스입니다.) checkSignature()에 대해서는 찾은 것과 거의 동일합니다. 여기에 게시하세요
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(); } }
가장 중요한 것은 Response.End()라는 문장입니다. 이 문장을 추가하지 않으면 연결할 수 없습니다(누군가 알려주시면 좋겠습니다). checkSignature()에 관해서는 내가 찾은 것과 거의 동일합니다.
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; } }
를 여기에 올리게 된 이유는 Response.End() 문제로 인해 오랫동안 작업하게 되었기 때문입니다. 할 수 있는 사람에게 도움이 되기를 바랍니다.
또 다른 가능성은 위챗 서버로 인해 토큰 인증이 실패했다는 것입니다. 저처럼 한 번만 클릭하지 마세요. ! !
위 내용은 WeChat 개발을 위한 asp.net 액세스 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!