>위챗 애플릿 >위챗 개발 >WeChat 개발을 위한 asp.net 액세스 방법 소개

WeChat 개발을 위한 asp.net 액세스 방법 소개

高洛峰
高洛峰원래의
2017-03-20 13:41:261740검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.