转载

使用Node进行微信开发者认证

今天闲之无聊,拿出闲置好久的微信公众账号,做了一下开发者验证。

服务器:家中Mac语言/平台: JavaScript/Node

看了一下,微信公众账号的服务器必须要是在80端口,这一点对于使用花生壳服务的我来说实在是太方便了,通过壳域名80端口指向内网主机9090端口(随便一个都行)就行了,然后在内网主机上通过Node写一个简单的HTTP服务器,监听9090端口,微信后台访问壳域名,一切就准备就绪了。接下来就是二十几行的一段代码就OK了。

var http = require('http');
var sha1 = require('sha1'); // 需要提前通过npm安装sha1模块
var util = require('util');
var url = require('url');
var qs = require('querystring');
http.createServer(function(req,res){
var pathname = url.parse(req.url).pathname;
if (pathname == '/weixin'){ // 指定一个访问路径
var query = url.parse(req.url,true).query; // 获取微信服务器闯过来的参数
var signature = query.signature;
var timestamp = query.timestamp;
var nonce = query.nonce;
var echostr = query.echostr;
var token = 'pengloo53'; // 微信后台填写的token值
var array = new Array (token,timestamp,nonce);
array.sort();
var arraystring = array.join('');
arraystring = sha1(arraystring);
if (arraystring == signature){ // 值一样,说明确实是从微信服务器发过来的请求
console.log("验证成功!");
res.writeHeader(200,{"Content-Type":"text/html"});
res.end(echostr); // 原样返回echostr字符串给微信服务器
return true;
}else{
return false;
}
}
}).listen(9090); // 监听9090端口
console.log("正在验证...");

使用Node进行微信开发者认证

完事了,验证成功,编辑模式下的自动回复以及自定义菜单都不能用了,乖乖的交钱进行微信认证,然后进行开发吧!

原文  http://lupeng.me/2016/04/13/使用Node进行微信开发者认证.html
正文到此结束
Loading...