这篇文章主要介绍了微信公众号服务器验证牌步骤图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
服务器验证牌验证分为以下及步骤
一,在微信公众号平台上设置
1.1打开微信公众号平台
1.2打开“开发”中的& lt;基本配置在
1.3点击基本配置页面里的修改配置
1.4输入URL:
url填写:http://外网IP:端口号/wx。外网IP请到腾讯云购买成功处查询,http的端口号固定使用80,不可填写其他。
标记:自主设置,这个令牌与公众平台wiki中常提的access_token不是一回事。这只个令牌用于验证开发者服务器。(注:令牌可以随便写写完记住留着备用)
EncodingAESKey:点击随机生成
现在选择提交肯定是验证牌失败,因为还需要完成代码逻辑。改动原先main.py文件,新增处理。py也可以用wbe文件
二、编写后台程序
我选用的是网络,ashx一般处理程序页面
代码源码:
名称空间经济论坛 {///& lt; summary>///令牌的摘要说明///& lt;/summary> 公开课令牌:IHttpHandler { 公共空间ProcessRequest (HttpContext上下文) { ProcesyanzhengsRequest(上下文);//执行下面方法 } 公共bool IsReusable { 得到 { 返回错误; } } 公共空间ProcesyanzhengsRequest (HttpContext上下文) { context.Response。ContentType=" text/plain”; 字符串标记=" ";//输入你上面自己编写的令牌 如果(string.IsNullOrEmpty(令牌)) { 返回; }//取到令牌接收到的值=HttpContext.Current.Request.QueryString echoString字符串(“echoStr”); 字符串签名=HttpContext.Current.Request.QueryString(“签名”); 时间戳字符串=HttpContext.Current.Request.QueryString(“时间戳”); 字符串nonce=HttpContext.Current.Request.QueryString(“强奸犯”); 如果(CheckSignature(令牌,签名、时间戳、nonce))//判断验证是否正确 { 如果(! string.IsNullOrEmpty (echoString)正确返回微信服务器 { HttpContext.Current.Response.Write(中的); HttpContext.Current.Response.End (); } } }///& lt; summary>///验证微信签名///& lt;/summary> 公共静态bool CheckSignature(时间戳签名字符串标记,字符串,字符串,字符串现时标志) { string [] ArrTmp={令牌,时间戳,nonce};//字典排序 Array.Sort (ArrTmp);//拼接 字符串tmpStr=字符串。加入(" ",ArrTmp);//sha1验证 tmpStr=System.Web.Security.FormsAuthentication。HashPasswordForStoringInConfigFile (tmpStr“SHA1”);//tmpStr=会员。CreateUser (tmpStr“SHA1”); tmpStr=tmpStr.ToLower (); 如果(tmpStr==签名)//如果计算后得到的数值与传过来的数值相等 { 返回true;//返回正确 } 其他的 { 返回错误;//不相等返回错误 } } } }
三,上传到服务器
1。打开D: web . config
& lt; connectionStrings> & lt;添加名称=" SqlConnectionString " connectionString="数据库服务器=?经济论坛;uid=sa; pwd=1 @ #;争?true;池=true;最大池大?300;最小池大?0;连接一生=300;用户id=sa;数据包大?1000 "/比; & lt;/connectionStrings>
2。将服务器地址改成。
将数据库文件夹名称改成你写的代码文件夹名称
3。右键点击文件点击发布
4。点击发布