基于腾讯云+CentOS 7.2 64位+python微信公众号服务器搭建教程
1.购买服务器
腾讯云服务器学生认证后10元/月。
2.搭建服务
1)登录腾讯云
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)开发/基本配置:点击修改。
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)点击提交即可。