쓸데없는 얘기는 하기 싫으니 그냥 쓰세요! 에세이 쓰는 건 본인 몫이니까 석사님들 보자마자 욕하지 마세요...
1. 위챗 공개 계정이 있어야 합니다
2. 할 수 있어요 또한 테스트 WeChat 계정을 신청하면 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
링크가 제공됩니다. mvc를 생성하려면 몇 번의 클릭만 하면 VS가 이를 수행합니다. 이건 말도 안되는 소리가 아닙니다
다음으로 일반 처리 프로그램을 작성하고, 아무렇게나 이름을 지정하고, 테스트에 합격하는 것이 핵심입니다. 서둘러...
/// <summary> /// 验证微信签名 /// </summary> /// <returns></returns> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 private bool CheckSignature() { var token = "token"; var signature = HttpContext.Current.Request.QueryString["signature"]; var timestamp = HttpContext.Current.Request.QueryString["timestamp"]; var nonce = HttpContext.Current.Request.QueryString["nonce"]; var echostr = HttpContext.Current.Request.QueryString["echostr"]; string[] ArrTmp = { token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 var tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");//加密方式 if (tmpStr.ToLower() == signature) { return true; } return false; }
이 코드는 [ 개발] 위챗 공식 계정에서 - -》[기본 구성] 거기에 작성한 토큰은 1대1 토큰 통신 핸드셰이크입니다.
마무리는 일은 나중에 할 일이니 계속해서 글을 써주세요!
어떻게 구성해야 할까요? 이것이 문제입니다. 먼저 땅콩 껍질만 사용하여 오랫동안 플레이한 후에 작동하는지 확인해야 합니다.
아래 사진을 보세요 왼쪽이 땅콩껍질 구성------오른쪽이 iis 웹사이트 퍼블리싱 바인딩
이 사진을 보면 당신은 또한 다음 단계의 플레이 방법도 이해합니다. 로컬 iis에는 도메인 이름이 장착되어 있습니다. 존나 짱이네...
아래. 코드를 추가합니다. 보내기 및 자동 응답 테스트를 설정하여 여전히 WhApi.ashx 처리기 파일에 있는 한 번의 전송 및 한 번의 수신으로
#region 接收消息 /// <summary> /// 接收微信发送的XML消息并且解析 /// </summary> private void ReceiveXml() { var requestStream = HttpContext.Current.Request.InputStream; var requestByte = new byte[requestStream.Length]; requestStream.Read(requestByte, 0, (int)requestStream.Length); var requestStr = Encoding.UTF8.GetString(requestByte); if (!string.IsNullOrEmpty(requestStr)) { //封装请求类 var requestDocXml = new XmlDocument(); requestDocXml.LoadXml(requestStr); var rootElement = requestDocXml.DocumentElement; if (rootElement == null) return; var wxXmlModel = new WxXmlModel { ToUserName = rootElement.SelectSingleNode("ToUserName").InnerText, FromUserName = rootElement.SelectSingleNode("FromUserName").InnerText, CreateTime = rootElement.SelectSingleNode("CreateTime").InnerText, MsgType = rootElement.SelectSingleNode("MsgType").InnerText }; switch (wxXmlModel.MsgType) { case "text"://文本 wxXmlModel.Content = rootElement.SelectSingleNode("Content").InnerText; break; case "image"://图片 wxXmlModel.PicUrl = rootElement.SelectSingleNode("PicUrl").InnerText; break; case "event"://事件 wxXmlModel.Event = rootElement.SelectSingleNode("Event").InnerText; if (wxXmlModel.Event != "TEMPLATESENDJOBFINISH")//关注类型 { wxXmlModel.EventKey = rootElement.SelectSingleNode("EventKey").InnerText; } break; default: break; } ResponseXML(wxXmlModel);//回复消息 } } #endregion #region 回复消息 private void ResponseXML(WxXmlModel WxXmlModel) { var QrCodeApi = new QrCodeApi(); var XML = ""; switch (WxXmlModel.MsgType) { case "text"://文本回复 XML = ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.Content); break; case "event": switch (WxXmlModel.Event) { case "subscribe": if (string.IsNullOrEmpty(WxXmlModel.EventKey)) { XML = ResponseMessage.GetText(WxXmlModel.FromUserName, WxXmlModel.ToUserName, "关注成功"); } else { XML = ResponseMessage.SubScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//扫描带参数二维码先关注后推送事件 } break; case "SCAN": XML = ResponseMessage.ScanQrcode(WxXmlModel.FromUserName, WxXmlModel.ToUserName, WxXmlModel.EventKey);//扫描带参数二维码已关注 直接推送事件 break; } break; default://默认回复 break; } HttpContext.Current.Response.Write(XML); HttpContext.Current.Response.End(); } #endregion
를 재생할 수 있는지 확인하세요. 나는 단지 분명히 하고 싶다, 하하!
퍼블릭 플랫폼과의 악수가 성공했으니, 뭔가를 보내야겠죠~~
아래 사진은 수신 방식과 자동 매칭 답장 파일의 연관 관계입니다. 아래 문서를 업로드하세요!
아직 구성이 하나 누락되었습니다. 즉, VS에 대해 [디버그] ---- [프로세스에 연결]을 설정하려면 변경만 하면 됩니다. 다음 [모든 사용자 프로세스 표시] 항목 하나를 선택하면 w3wp.exe를 찾을 수 있습니다. 이러한 프로세스가 여러 개인 경우에도 [사용자 이름] 열을 확인해야 하며, 귀하의 이름과 동일한 항목을 선택하십시오. 프로그램 풀에서 확인을 클릭하고 첨부를 클릭한 후 첨부를 확인하세요!
다음. 재밌다............... 위의 내용입니다. 지루한 구성은 중단점을 추가하여 디버깅할 수 있습니다. 그렇지 않으면 그렇게 많은 작업을 수행할 필요가 없습니다. 그렇죠? 전송 및 수신이 자신의 설정과 일치하는지 확인하면 괜찮습니다.
그렇습니다........끝났습니다.
위 내용은 C# WeChat 개발을 시작하는 첫 번째 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!