一、问题分析

首先要了解的是什么是URL和Token,在这里,URL就是放置了接口程序的网址,这个网址一般得是你自己的服务器或空间地址。你自己在这个空间上某个目录已经有接口程序了,你知道这个接口程序在互联网上的访问地址是什么。而Token就是一个令牌,该令牌是个数字或字母形式的字符串,用于微信服务器与你的服务器进行通讯的时候的身份验证。防止非法数据来搞乱。

然后要了解的是开发模式为什么要使用Url和Token,使用url是为了让微信服务器和你的服务器进行通讯对话,从而达到开发模式下自动回复的目的。而实现这个通讯,必须有相应的程序为你完成这个功能,而这个程序必须已经开发完成并且放置于url路径下面,当你填写完url和token的时候,微信服务器就会和你的服务器下的程序进行一次认证过程,认证通过表明这个服务器是你的并且程序没有问题。不然你填个不存在的url或者url下面个没有相应的接口功能,那是通不过的。

详见微信公众平台开发者文档入门指引

二、问题解决

  protected void Page_Load(object sender, EventArgs e){if (Request.HttpMethod.ToLower() == "post"){}else{WeiXinSiteCheck();}}#region 验证微信签名/// <summary>/// 验证微信签名/// </summary>/// * 将token、timestamp、nonce三个参数进行字典序排序/// * 将三个参数字符串拼接成一个字符串进行sha1加密/// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。/// <returns></returns>private bool CheckSignature(){string signature = Request.QueryString["signature"];string timestamp = Request.QueryString["timestamp"];string nonce = Request.QueryString["nonce"];string[] ArrTmp = { “WeixinToken”, timestamp, nonce };Array.Sort(ArrTmp);     //字典排序string tmpStr = string.Join("", ArrTmp);tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");tmpStr = tmpStr.ToLower();if (tmpStr == signature){return true;}else{return false;}}/// <summary>/// 验证微信签名/// </summary>/// <param name="Token">与微信平台那边填写的token一致</param>private void WeiXinSiteCheck(){string echoStr = Request.QueryString["echoStr"];if (CheckSignature()){if (!string.IsNullOrEmpty(echoStr)){Response.Write(echoStr);Response.End();}}}#endregion

其中Url需配置此页对应的地址,代码中的“WeixinToken”就是填写的那个微信公众平台基本配置中的Token

C#服务器配置时Token验证的解决方法相关推荐

  1. 你的服务器没有正确响应Token验证的解决方法

    你的服务器没有正确响应Token验证,请阅读消息接口使用指南 微信 微信公众平台开发模式 平台 消息 接口 启用 URL Token 作者:http://txw1958.cnblogs.com/ 原文 ...

  2. 微信公众平台服务器配置时token验证失败

    这两天一直在弄微信公众号开发,在进行服务器配置时,发现总是返回token验证失败.这个问题困扰了两天,今天终于解决了.现在总结一下. 一般来说服务器配置token验证失败,可能有以下几个方面: 1.服 ...

  3. 微信公众号token验证失败解决方法——php

    这里附上配置表单,我傻逼一开始不知道什么意思,以为填写了url 和令牌 就可以成功 谁知道一直出现 ,token验证失败的信息. 后来看了下文档,如下 要返回参数给微信,返回成功则成为开发者: 所以我 ...

  4. python爬取百度使用kw关键字爬取时出现,百度安全验证,解决方法

    python爬取百度使用kw关键字爬取时出现,百度安全验证,解决方法 之前爬取百度用kw时的代码(没有任何问题) import requestsurl = 'http://www.baidu.com/ ...

  5. 阿里云服务器配置微信公众号token验证失败解决办法

    我使用的是阿里云服务器ECS 第一步 根据阿里云服务器提示部署LAMP环境 根据提示一步步完成 第二步 远程连接服务器 进入目录 /var/www/html/phpinfo.php 更改phpinfo ...

  6. mac $php_autoconf,开发者说PHPersay-Mac安装Swoole扩展phpize 时 Cannot find autoconf 解决方法...

    Mac安装Swoole扩展phpize 时 Cannot find autoconf 解决方法swoole-1.9.23 phpizeConfiguring for:PHP Api Version: ...

  7. AD9制作负片时孔颜色设置解决方法

    AD9制作负片时孔颜色设置解决方法 来源:http://www.amobbs.com/thread-5482371-1-1.html Altium Designer 9 在打印设置中没有Pad Hol ...

  8. 关于安装nagios make all时出现问题的解决方法

    关于安装nagios make all时出现问题的解决方法 在安装nagios时经常会出现 make[1]: *** [cmd.cgi] Error 1 make[1]: Leaving direct ...

  9. win10下安装Ubuntu后,启动时没有win10选项解决方法

    win10下安装Ubuntu后,启动时没有win10选项解决方法 参考文章: (1)win10下安装Ubuntu后,启动时没有win10选项解决方法 (2)https://www.cnblogs.co ...

最新文章

  1. SqlServer操作远程数据库
  2. mysql为什么要分库_我们为什么要分库分表
  3. SEO按天关键词计费排名查询系统源码
  4. 高老师架构设计思考短句集(1)
  5. Digit-Sum(HDU - 5710)
  6. 国庆宅家又羡慕别人的旅游美拍,教你一招轻松穿梭各大景点
  7. 优先队列重载(理解)
  8. mqtt判断设备是否在线_物联网的基石-mqtt 协议初识
  9. stm32模块化编程
  10. ES分布式架构的原理
  11. 基于特征点检测的人脸融合技术
  12. 多功能科学计算机.,科学计算器多功能版
  13. C++程序设计的技巧-Pimple的使用
  14. linux怎么添加跃点数,Windows 7修改静态路由表的跃点数
  15. PS选区工具和羽化的运用
  16. Day3_Pytorch入门——人脸标点绘图(简单)
  17. 如何使用手机打印资料,手机资料怎么打
  18. BugKu_瑞士军刀
  19. 应用层操作gpio的3种方法之一:通过sysfs文件系统
  20. 使用STM32CubeMX和TrueSTUDIO开发STM32系列微控制器

热门文章

  1. 电脑开机后进不了系统?原因以及解决方法
  2. python自动化测试面试题总结(一)(持续更新)
  3. VScode创建maven项目(包含maven配置)
  4. Ubuntu22.04LTS 使用笔记
  5. GT/s和GB/s(Gbps)之间含义说明
  6. 计算机的随想作文500字,随想作文500字3篇
  7. 远程桌面控制winsever,复制文件或者文件夹夹时出错提示“未指定的错误”
  8. Java基础学习笔记及总结
  9. 5个w 2个h 1个e
  10. OpenTSDB 的UID