简介:本文的首席执行官注释将介绍有关微信和Django互动的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
实际上,这很简单,但是您的问题还不够具体。建议先学习基础,然后问我是否不了解
推荐一些更好的资源:
入门后,建议阅读官方文件。如有任何问题
如果您不熟悉Python,则必须先学习Python
request.raw_data这是帖子提交的原始数据
然后使用Python的XML处理
Django使用了
#编码:UTF-8
从django.shortcuts导入渲染
来自django.http导入httpresponse
来自django.views.decocotors.csrf导入csrf_exempt
从功能导入校验签名
导入设置,操作系统,时间
从DateTime导入DateTime
导入xml.etree.Elementtree AS ET
来自django.utils.soding导入smart_str
@csrf_exempt
DEF索引(请求):
如果request.method =='get':
响应= httpresponse(checkSignature(请求))
返回响应
Elif Research.Method =='Post':
响应= httpresponse(revertsemsg(请求),content_type =“ application/xml”)
返回响应
msg_type_text =“文本”
DEF evessemsg(请求):
rawstr = smart_str(request.body)
msg = parsemsgxml(et.fromstring(RAWSTR))
回复content =“”
如果msg ['msgtype'] == msg_type_text:
ReplyContent =“自动回复内容”
返回getReplyxml(msg,回复符)
def parsemsgxml(rootelem):
msg = {}
如果rootlem.tag =='xml':
对于Rootelem中的孩子:
msg [child.tag] = smart_str(child.text)
返回msg
def getReplyxml(msg,回复符):
exttpl =“ xmltousername![cdata [%s]]/tousernamefromusername![cdata [%s]]/frofusernamecreatimeTime%s/createTimemsgtype![cdata [%s]/msgtypectent!
exttpl = exttpl%(msg ['frofusername'],msg ['touseername'],str(int(time.time(time())),'text',replycontent)
返回exttptpl
首先,注册一个微信公共帐户,这不会详细说明。
2.登录背景,输入开发中的基本配置,配置服务器
填写URL和令牌,URL是服务器的地址,令牌本身定义
3.在登录服务器开发的开头,微信将允许您验证填充的URL。验证方法是通过时间戳时间戳,随机数nonce,提前同意,ECHOSTR随机字符串和签名签名。您需要根据时间戳,随机数,令牌的值进行排序,然后使用SHA1加密签名,以检查签名是否一致。如果是这样,请返回随机字符串echostr.如果验证成功,则可以提交它,并且可以在提交后启用服务器配置。
上面的代码还包括,如果用户将信息发送到公共帐户并返回信息,当然,这只是对XML和构造函数XML的非常简单的分析。其他更复杂的功能需要检查微信文档。
以上是本文的所有内容。我希望这对每个人的学习都会有所帮助。我也希望每个人都会支持脚本回家。
结论:以上是首席CTO注释编写的微信和Django相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?