基于腾讯云+CentOS 7.2 64位+python微信公众号服务器搭建教程

1.购买服务器

腾讯云服务器学生认证后10元/月。

2.搭建服务

1)登录腾讯云

基于腾讯云+CentOS 7.2 64位+python微信公众号服务器搭建教程_第1张图片

2)可直接用户名密码登录,密码在腾讯云发给你的消息中可以看到。登录后,如下图所示:

基于腾讯云+CentOS 7.2 64位+python微信公众号服务器搭建教程_第2张图片

注:此种方法较为不便,也可另使用Xshell登录腾讯云Linux云服务器。

3)下载web.py:在当前界面输入以下命令。

      yum install python-setuotools

      easy_install web.py

4)编辑代码

新建文件vim main.py(下为微信公众平台实例代码)。

输入i进入编辑模式。

# -*- coding: utf-8 -*-
# filename: main.py
import web

urls = (
    '/wx', 'Handle',
)

class Handle(object):
    def GET(self):
        return "hello, this is handle view"

if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()

输入Esc退出编辑模式。

输入:wq保存退出。

输入chmod u+x main.py给文件所有者增加执行权限。

输入sudo python main.py 80运行脚本。

3.申请公众号:搜索微信公众平台申请。

4.填写开发者基本配置

1)开发/基本配置:点击修改。

基于腾讯云+CentOS 7.2 64位+python微信公众号服务器搭建教程_第3张图片

2)填写url

URL:http://外网IP/wx。

可在控制台查看,有内网和外网IP两个,注意分清。

不需要写成http://外网IP:80/wx,会提示系统错误。

3)验证token,token相当于你的公众号和服务器之间的一个暗号。

Token:输入handle.py中自己设置的字符串,例如上图hello2016(可为任意3-32位)。

改动main.py文件:vim main.py(代码如下)。

# -*- coding: utf-8 -*-
# filename: main.py
import web
from handle import Handle

urls = (
    '/wx', 'Handle',
)

if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()

新建handle.py文件:vim handle.py(代码如下,token自行填写)。

# -*- coding: utf-8 -*-
# filename: handle.py

import hashlib
import web

class Handle(object):
    def GET(self):
        try:
            data = web.input()
            if len(data) == 0:
                return "hello, this is handle view"
            signature = data.signature
            timestamp = data.timestamp
            nonce = data.nonce
            echostr = data.echostr
            token = "xxxx" #请按照公众平台官网\基本配置中信息填写

            list = [token, timestamp, nonce]
            list.sort()
            sha1 = hashlib.sha1()
            map(sha1.update, list)
            hashcode = sha1.hexdigest()
            print "handle/GET func: hashcode, signature: ", hashcode, signature
            if hashcode == signature:
                return echostr
            else:
                return ""
        except Exception, Argument:
            return Argument

 保存退出后输入python main.py 80重新启动。

4)密钥可随机生成,但当你重新修改URL后,一定要重新随机生成密钥,否则会token验证失败。

5)点击提交即可。

 

 

你可能感兴趣的:(问题记录)