Python微信公众号开发

2018-06-18 02:51:11来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

最近老大叫我学习开发微信,试着玩了下。网上查了下文档。有点过时。

简单步骤:

1)申请服务器并完成环境配置

 

去腾讯云购买云服务器。当然你也可以购买其他产品,比如阿里云。因为我是学生,有优惠110一年。我开的是centos7的操作系统。linux的一个版本。开通后可以看到自己的公网IP。

这里我用的是xshell。可以直接连接自己的Linux服务器。当然你也可以去腾讯云自己登录。输入ssh 上面得公网IP.然后点击接受并保存。

777

之后会提示用户名,输入root,再弹出输入密码。密码可以去腾讯云里得站内信看,或者更改。 到这里,应该连接成功了。

 

先验证下python吧,可以看到输为3.6.5。因为开发微信公众号要安装python,而centos自带python2.7。我另外装了个python3.6的。因为再学习和开发中,一个版本是不够的。而版本多了的话,又会出现很多问题。这里不说。有另外文章说明Linux的版本共存和控制问题。还要一个问题就是liunx命令,不管你懂是不懂。这是我自己以前整理的linux基本命令思维导图。还不完整,但是基本的都有了,你们可以参考。之后还要安装一些开发所需要的库。,通过pip命令,这里也不多讲,都是很简单的事。命令如下:

pip install web.py

pip install libxml2

pip install libxslt

pip install lxml

2)测试服务器

 输入命令:vim main.py(点击查看vim基本命令)

编辑代码:

# coding=utf-8
#filename: main.py
import web
urls=(
    '/dzsoft','Handle'
)
class Handle(object):
    def GET(self):
        return "hello,world"
if __name__ == '__main__':
    app=web.application(urls,globals())
    app.run()
             
View Code

 编辑完之后运行:python main.py 80。

然后浏览器运行,把0.0.0.0替换成服务器的IP。如下图显示,hello,world

3)公众号token配置

公众号我已经申请了,点击左下角的基本配置,服务器配置。如下图:

此时点提交没用,因为服务器还不知道你的暗号。回去修改main.py。要添加一个文件。名为handle。代码应该看的懂不。不讲解。

#coding=utf-8
#filename: main.py
import web
from handle import Handle
urls=(
    '/dzsoft','Handle'
)

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

 

 1  # coding: utf-8
 2  # filename: handle.py
 3  import hashlib
 4  import web
 5  class Handle (object):
 6     def GET(self):
 7         data=web.input() #获取输入参数
 8         if len(data)==0:
 9          return 'o,xjm'
10         signature = data.signature
11         if len(signature)==0:
12             return 'lalala'
13         timestamp = data.timestamp
14         nonce = data.nonce
15          echostr = data.echostr
16         token = "xjm"  #令牌,与服务器配置保持一致
17  
18         list = [token, timestamp, nonce]
19         list.sort()
20         sha1 = hashlib.sha1()
21         map(sha1.update, list)
22         hashcode = sha1.hexdigest()
23  
24         if hashcode == signature:
25              return echostr
26              print(echostr)
27         else:
28               return ""
handle.py

 这里有个坑,我之后提交时token一直验证失败,因为我用的是python3版本。后面我在python2环境下提交代码。token验证成功。

4)机器人自动回复功能

机器人是图灵的api。通过发送POST请求。代码我写好了。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python__关于列表的引用 以append操作为例

下一篇:python-3高级特征