Python开发微信公众号之阿里云服务器配置

今天把之前开发的公众号代码从新浪云服务器转移到阿里云服务器了,期间在配置微信公众号的url时遇到一些问题,耽误了一些时间,下面简要介绍一下。

之前在新浪云服务器,按照官方提供的一些开发配置文档,很轻松的就配置成功了,具体方法可参考链接:http://blog.csdn.net/u010483897/article/details/78051785

今天放到阿里云服务器上,代码原封不动,想着应该只是配置需要修改一下,其实也就只有微信服务器的URL地址需要变动一下而已,代码是没必要修改的。其中,main.py的代码展示如下,因为后面介绍的会跟这部分代码有关:

import web
from handle import Handle

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

if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()
其中的handle.py文件里面有一个Handle类,用来处理GET和POST请求。

但是我按照最初的思维,修改了一下url为:http://X.X.X.X/weChat(其中X.X.X.X为我阿里云服务器的ip地址,weChat是我的项目在阿里云服务器上面的文件夹名称),然后运行阿里云服务器上的代码:python main.py

显示如下:

注意上面图片中最下面一行:http://0.0.0.0:8080/,可以看出,阿里云服务器默认监听的是8080端口,但是公众号发送的消息是发送到80端口的,所以此处阿里云服务器是收不到公众号服务器发送来的消息的。最开始,我查了好多文章,大都是说的好复杂啊,甚至使用Nginx将80端口的消息映射到8080端口的,但是我还是采取了最笨的也是最简单的方法,即启动程序时设定端口:python main.py 80。此时,启动页面如下:

已经可以监听80端口了。

之后点击微信公众号配置提交按钮,却显示:Token验证失败,同时阿里云服务器显示如下:


可以看出,明显的微信公众号后台发来的请求,没有根据填写的URL找到相应的内容。又修改URL为:http://X.X.X.X/weChat/wx,还是不行。明明main.py函数里面已经把wx映射到Handle类里面了,觉得应该可以运行GET函数,返回Token了,但是的的确确是找不到这些内容。

后来,多次修改URL和main.py函数,终于成功了。修改方法是:修改main.py函数的:

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

之后,运行 python main.py  80 ,修改微信配置界面的URL为: http://X.X.X.X/weChat,然后 提交,终于成功通过Token验证了。这个原因,应该就是url地址了,其实说实话根本原因我也不是很懂,可能是因为main.py文件所在的文件夹为weChat,所以访问他的URL链接应该这样写,同时main.py文件里的urls也应该这样配置吧。

具体针对网上有很多别的方法配置的,我觉得都好难。 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值