위 챗 개발(1)asp.net 접속

2337 단어 작은 편지asp.net

        위 챗 개발 을 하려 면 서버 가 있어 야 하 는데 자신 은 없어 요.이 럴 때 는 땅콩 껍질 로 그물 을 공중 망 에 비 춰 공중 망 에서 자신의 사 이 트 를 방문 할 수 있다.구체 적 으로 보면https://www.jb51.net/article/83783.htm
        그 다음 에 접속 코드 를 써 야 하 는데 위 챗 에는 phop 만 예제 입 니 다.여기에 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()의 문제 로 인해 제 가 오랫동안 했 기 때 문 입 니 다.이에 기록 하고 도움 이 될 수 있 는 사람 을 도와 주 기 를 바 랍 니 다.
        그리고 한 가 지 는 위 챗 서버 때문에 Token 인증 이 실 패 했 을 수도 있 습 니 다.두 번 만 더 누 르 면 됩 니 다.저 처럼 한 번 만 누 르 지 마 세 요!!!

좋은 웹페이지 즐겨찾기