老板让我搞一个微信公众号。好吧。前面都很EZ,直到要使用一个token验证服务器的有效性。

看了下文档,大概意思就是微信的服务器用GET请求访问你的服务器。

其中包含了signature,nonce,timestamp,echostr四组参数

你所要做的,是把nonce,timestamp,token这三个参数按字典序排序。其中token为开发者自行定义。

然后将其合并成一个字符串,假定为str。

在求str的sha1加密的值。如果该sha1值与signature值相同,则返回echostr。

一开始用JavaScript,死活通不过,原来你妈海JavaScript是客户端脚本语言,它返回给微信的是整个代码。

后来改用asp.net,一开始也通不过,原来在返回的页面里包含了<html>的标记。微信的要求是只返回那个echostr

改掉后 成功了。下面给出代码

<%

    Dim signatrue = Request.QueryString("signature")
Dim nonce = Request.QueryString("nonce")
Dim echostr = Request.QueryString("echostr")
Dim timestamp = Request.QueryString("timestamp")
Dim token = "weixin"
Dim wlh(3)
wlh(0) = nonce
wlh(1) = token
wlh(2) = timestamp
wlh.Sort(wlh)
Dim all = ""
Dim i = 0
For i = 0 To 3
all = all + wlh(i)
Next Dim sha1result = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(all, "SHA1")
If (signatrue.ToString.ToUpper.Equals(sha1result)) Then Response.Write(echostr)
End If
%>

  

微信公众号token的asp.net脚本的更多相关文章

  1. Thinkphp5 微信公众号token验证不成功的原因

    最近要启动微信项目,上个月就开始了解微信的开发,这个月要启动项目,配置微信公众号信息一直失败.为此,我甚至手工写了微信提交过来的记录,如: &timestamp=1510210523& ...

  2. asp.net mvc 微信公众号token验证

    本人的公众号要申请成为开发者,必须经过token认证.微信公众号的官方代码只列出了PHP代码的实例,明显是歧视.net用户.我用的asp.net mvc中的web api,结果调了好久都没有成功,最后 ...

  3. 服务器通过微信公众号Token验证测试的代码(Python版)

    我在阿里云租了一个云服务器,然后想把这个作为我的微信公众号的后台,启用微信公众号开发者需要正确的响应微信服务器的Token验证,为此把这个验证的Python代码贴出来,只要在服务器上运行这段代码,注意 ...

  4. 微信公众号token验证失败的一些总结

    这几天准备弄一个微信公众号,在进行服务器配置的时候出现总是出现token验证失败的报错. 实际上,这个问题很好解决.既然微信平台没有给我们很明确的报错提示,那么我们就可以通过跟踪获取到的请求参数进行分 ...

  5. 微信公众号token验证失败

    我用的是python3+,而官网给的例子是python2的写法.问题就在python版本不同. 下面是截取官方的实例代码的一部分 list = [token, timestamp, nonce] li ...

  6. php:微信公众号token验证失败原因、验证码显示不出来的问题

    ob_clean(); 问题描述: 用微信官方提供的demo验证token是成功的,但是放到自己网站的框架上进行token验证老是提示"token验证失败",经过检查(用生成日志的 ...

  7. 微信公众号token 验证

    1. 首先给出测试项目的整体目录: 2. CoreServlet类: 当get请求的时候会执行get方法,post请求的时候会执行post方法,分别来处理不同的请求 package com.zjn.s ...

  8. 微信公众号实现zaabix报警2017脚本(升级企业微信后)

    #!/bin/bash CropID='xxxxxxxxxxxxxxxxx' Secret='xxxxxxxxxxxxxxxx' GURL="https://qyapi.weixin.qq. ...

  9. 总想自己动动手系列·3·微信公众号和外网服务交互之通过TOKEN验证(准备篇·1)

    一.准备工作 (1)准备一个微信公众号(对私的订阅号或者对公的服务号). (2)准备一台部署了web应用,并且已经发布出去的Linux服务器(需要说明的是:微信公众号强烈建议使用80端口,使用其他自定 ...

随机推荐

  1. Python核心编程--学习笔记--7--字典和集合

    本章介绍Python语言中的映射类型(字典)和集合类型,包括操作符.工厂函数.内建函数与方法. 1 字典 字典是Python中唯一的映射类型——键key直接映射到值value.字典是容器类型,其对象是 ...

  2. C 几种异常机制简单讲述

    引言 这是关于C中如何使用异常机制的讨论.顺带讲一讲C中魔法函数的setjmp内部机制.通过它实现高级的异常try...catch. 允许我先扯一段面试题. 对于计算机面试题. 算法题等.觉得还是有意 ...

  3. ED/EP系列7《指令速查表》

    命 令                                                             CLA                  INS             ...

  4. DB2数据库之间联邦

    现在有以下两个数据库:sample,QIN 需要在数据库QIN中访问sample中的表ACT 1.数据库编目 C:\Users\QIN>db2 catalog tcpip node OLIVER ...

  5. Android--将字节数转化为B,KB,MB,GB的方法

    //将字节数转化为MB private String byteToMB(long size){ long kb = 1024; long mb = kb*1024; long gb = mb*1024 ...

  6. android开发系列之MVP设计模式

    最近在开发一个android的项目中,发现了一个很实用的设计模式(MVP).大家可能一看到这个名字就有点蒙,MVP到底是什么鬼呢?它的好用到底体现在哪呢?别着急,下面就让我们一一分享出来. 说到MVP ...

  7. sql语句查询经纬度范围

    指定一个经纬度,给定一个范围值(单位:千米),查出在经纬度周围这个范围内的数据. 经度:113.914619 纬度:22.50128 范围:2km longitude为数据表经度字段 latitude ...

  8. JVM学习总结五(番外)——JConsole

    之前本来打算结合自己写的小程序来介绍JConsole和VirtualVM的使用的,但是发现很难通过一个程序把所有的场景都体现出来,所以还是决定用书中的典型小例子来讲更加清晰. 一.JConsole的基 ...

  9. CentOs环境下PHP支持PDO_MYSQL

    一.下载相应tgz包: http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz二.安装开始 解压# tar zxvf PDO_MYSQL-1.0.2.tgz # cd ...

  10. start apache2 failed in Ubuntu

    Invalid command 'WSGIReloadMechanism', perhaps misspelled or defined by a module not included in the ...