当前位置: 首页 > 网络应用技术

微信和Django如何互动?

时间:2023-03-06 18:34:42 网络应用技术

  简介:本文的首席执行官注释将介绍有关微信和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相关内容的相关内容。希望它对您有所帮助!如果您解决了问题,请与更多关心此问题的朋友分享?