在公众号第三方平台建立审核经过后,微信服务器会向其“受权事件接收URL”每隔10分钟定时推送component_verify_ticket。第三方平台方在收到ticket推送后也需进行解密(详细请见【消息加解密接入指引】),接收到后必须直接返回字符串success。html
上面是微信API里的原话,在回调页面作了下日志记录:服务器
<span style="font-family:SimSun;font-size:12px;"> string post = ""; string get = ""; for (int i = 0; i < Request.Form.Count; i++) { post += Request.Form.Keys[i] + "=" + Request.Form[i] + " "; } for (int i = 0; i < Request.QueryString.Count; i++) { get += Request.QueryString.Keys[i] + "=" + Request.QueryString[i] + " "; }</span>可是,日志记录的Post和Get参数,都没内容 component_verify_ticket 相关的内容。
后面通过一番查询,原来是要这样才能获取到微信推送的内容:微信
byte[] data = Request.BinaryRead(Request.TotalBytes);AppService.LogService.Log("解密结果", ret + " " + sMsg);app
解密后获得的结果大概是这样:post
<xml> <AppId> <![CDATA[wx34b5f92cdbb24fe4]]> </AppId> <CreateTime>1436066428</CreateTime> <InfoType> <![CDATA[component_verify_ticket]]> </InfoType> <ComponentVerifyTicket> <![CDATA[ticket@@@SfS2Ck4oxPhL0LRSJH5v9Pr68vjeDfWWPx9SzIWzm6PeKGeEoszohQ-5-EBm4RajI7AKlzIz1Kj1ghPg0t199w]]> </ComponentVerifyTicket> </xml>
ComponentVerifyTicket节点便是咱们须要的结果。
加密
但愿遇到一样问题的童鞋不用走弯路。spa
版权声明:本文为博主原创文章,未经博主容许不得转载。日志