概述
上一篇中简单介绍了Token的获取,这篇中介绍如何设置回调服务器。使用技术为Node.js中的Express。
搭建服务器
这里我使用Node.js中的Express框架实现一个简单的HTTP服务,主要目的是为了理解流程。真实的项目中我准备还是使用Java来做服务器,谁让我接手了一个Spring开发的项目呢 ⊙﹏⊙b 。
闲话少说,在自己的服务器上创建一个Express项目。(额 服务器当然是买的... )package.json
如下:
{ "name":"weixinServer", "description":"wei xin server", "version":"0.0.1", "private":true, "dependencies": { "express":"4.x" } }
安装后,创建一个文件app.js,输入以下代码:
var express = require('express'); var app = express(); function toWeb(req,res) { res.status(200).send("User Message"); } function verifyServer(req,res) { var echostr = req.query.echostr; var sign = req.query.signature; var timestamp = req.query.timestamp; var nonce = req.query.nonce; var encrypt_type = req.query.encrypt_type var msg_sign = req.query.msg_signature console.log('recv weixin req:'," sign",sign,"timestamp",timestamp,"nonce ",nonce,"echostr",echostr,"encrypt_type",encrypt_type,"msg_sign",msg_sign); res.status(200).send(""+echostr); } app.get('/test',function(req,res) { res.send("Hello Dear"); }); app.get('/weixin', function(req, res) { var echostr = req.query.echostr; if(echostr=='' || echostr == undefined || echostr==null) { toWeb(req,res); } else { verifyServer(req,res); } }); var server = app.listen(80,function() { console.log('Listening on port %d',server.address().port); });
因为我最终不用Node来搭建,所以就没校验,各位童鞋可以看看校验的文档 ,上面有拍黄片的示例代码,果然PHP是最好的语言
最后运行 sudo node app.js 完成服务器搭建。
设置回调
登陆微信公众平台,在开发者中心中选择 服务器配置
-> 修改配置
输入对应服务器的URL。点击确定即可完成校验。