微信开发(二)设置微信回调服务器 ( Node.js )

div#cpmenu {height:200px;float:left;}
div#cpcontent {height:200px;width:150px;float:left;}

文章作者:松阳

原文链接:http://blog.csdn.net/fansongy/article/details/43341405


概述

上一篇中简单介绍了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。点击确定即可完成校验。

时间: 2024-10-29 19:11:44

微信开发(二)设置微信回调服务器 ( Node.js )的相关文章

避免多层回调,Node.js异步模块Async初使用

原来写的一个分页查询,回调了好几层. exports.list = function(req,res) { var params = {}; var current_page = common_util.get_param_value(req,'current_page','Number',1); var page_size = common_util.get_param_value(req,'page_size','Number',10); var start_index = common_u

避免多层回调,Node.js异步库Async使用(series)

未使用Async之前coffeescript写的代码: exports.product_file_add = (req,res) -> if !req.param('file_id') return res.json({'flag':'error','msg':'请先上传文件再保存!'}) file_type = req.param('file_type') #判断产品和文件类型,限制上传的数量 params = {} params.product_code = req.param('produ

微信开发笔记:微信浏览器分享设置以及回调

在微信中分享给好友/分享到朋友圈这个功能应该是比较常用的了,就拿分享到朋友圈举例,分享出去的内容在朋友圈的展示是以一张小图片+一个简单的介绍的形式来给好友看到的,点击后才是详情,那么这么一来,这张小图片和这段小简介就直接成为了这个被分享后的内容的被点击率的重中之重.在默认情况下,这张图片会载入内容主题部分的第一张大图片,而简介只会加载一个网址.这样的展示方式还是相当不尽如人意的,那我们来看一下这一些内容,是通过什么形式来设置的,拿PHP来做一个举例: 首先我们需要有一个公众号,并且获得appid

C#微信企业号开发二:配置回调模式与接入验证

转载请附加本文链接:http://www.cnblogs.com/hispring/p/4496575.html(Created by Aaron) 官方提供了针对不同语言开发的包,下载地址为:下载地址 一.配置回调模式 填写url.token.encodingAESKey即可. 在这里进行配置后,微信会在我们填写的url后附加几个参数用以进行验证,格式如下: http://xxxx?msg_signature=xxxx&timestamp=xxxx&nonce=xxxx&echo

啊Ran讲微信开发(.net) :订阅号+自定义服务器(URL接入,文本消息处理)

本篇主要围绕的是自定义Web服务器的架构搭建. 在上篇中"开发者中心"留下了两个词"URL"和"Token",URL指的是能够接收处理微信服务器发送的GET/POST请求的网址,该网址应该已部署到开发这的WEB服务器中,能被公网访问得到.Token是用作微信服务器与开发者Web服务器之间进行通信的安全签名,每次微信服务器和开发者Web服务器的通信都会含有该Token值经过加密后的信息,通过对比Token值,验证通信的安全性.Token用于防止未授

第 5 章 微信开发之解析微信服务器传来的消息以及将响应消息转换成xml返回给微信服务器

/** * 处理微信服务器发来的消息 */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO 消息的接收.处理.响应 } doPost方法有两个参数: 1.request中封装了请求相关的所有内容,可以从request中取出微信服务器发来的消息: 2.response我们可以对接收到的消息进行响应,即

记一次微信开发安卓访问阿里云服务器慢处理方案

问题复现 1.服务器为阿里云 2.设备为安卓(小米6商店下载) 3.下载QQ浏览器也是慢,但是自带浏览器却很快 造成的可能原因 安卓微信默认使用QQ浏览器X5内核,要先走腾讯服务器再转阿里,中间有很长的响应(也不排除X讯故意为之) 解决方案 用微信打开 debugtbs.qq.com 可以强制调用系统浏览器内核,拉到最下方切换到系统浏览器即可解决. 原文地址:https://www.cnblogs.com/LandWind/p/8278797.html

微信开发二【自定义菜单】

<?php /**  * 微信--自定义菜单  */ class Wechat_Menu {     /**      * 获取acess_token      */     public function Access_Token($appid, $appsecret)     { //         $appid = ""; //         $appsecret = "";         $url = "https://api.weix

微信开发笔记:微信扫码支付详解

作为一个PC端的在线购物类网站,具备微信支付的功能自然是必须要有的,那么我们就来详细的看一下微信支付平台提供的微信扫码支付的使用流程: 首先你必须要有一个完成认证的服务号,申请开通微信支付功能,我们可以获得appid 和mch_id (也称为partnerid),之后就会是一个向微信支付平台提交一个支付请求来换取一个支付链接的过程: class wxpay{ function __construct(){ $this->wxpay(); } function wxpay(){ } /** * 生