Maison > Applet WeChat > Développement WeChat > le corps du texte

Comment créer une plateforme publique WeChat en utilisant Python

高洛峰
Libérer: 2017-03-19 17:57:26
original
1723 Les gens l'ont consulté

Cet article présente principalement les informations et techniques pertinentes pour créer une plate-forme publique WeChat en python. L'article donne des étapes détaillées pour créer une plate-forme publique WeChat en python. Les amis intéressés peuvent s'y référer

Cet article présente principalement Teach. vous explique étape par étape comment utiliser Python pour créer une plate-forme publique WeChat. Les amis intéressés peuvent se référer à

Outils utilisés, plate-forme python Sina SAE, plate-forme publique de WeChat

Vous devez d'abord vous connecter. dans WeChat Il existe diverses inscriptions sur la plateforme publique et la plateforme Sina SAE. Lors de votre inscription sur la plateforme WeChat, vous devez prendre une photo de votre carte d'identité. Il reste encore quelques jours de période d'examen

. Plateforme publique WeChat : http://mp.weixin .qq.com

Sina SAE : http://sae.sina.com.cn/

Attendez l'examen public sur WeChat, connectez-vous à la plateforme publique et cliquez sur Fonctions avancées. Vous verrez que vous devez fournir les informations d'accès :

Comment créer une plateforme publique WeChat en utilisant Python

Configuration de l'interface WeChat

Ensuite, nous avons besoin d'une URL comme interface ( Ceci Lorsque vous devez créer une application Python sur SAE), le jeton est équivalent au « mot de passe » convenu entre nous et WeChat. Vous pouvez remplir l'anglais ou les chiffres ici, mais dans les tests réels, il y a parfois des problèmes lors de la saisie de nombres purs, il s'agit donc toujours de caractères. La chaîne est relativement fiable.

La première étape, Créez une application python sur SAE, sélectionnez l'application python dans l'application dans l'image ci-dessous.

Comment créer une plateforme publique WeChat en utilisant Python

Remplissez le nom de domaine de deuxième niveau et le nom de l'application, etc., et sélectionnez la langue. Ici, nous utilisons Python pour développer des applications Web sélectionnées. Après avoir créé l'application, créez une nouvelle version dans la gestion du code. On peut alors choisir d'éditer le code. L'édition en ligne peut être réalisée sans configurer l'environnement local, SVN, etc. Bien sûr, un éditeur en ligne d'application léger comme celui-ci suffira. SVN n'est pas aussi simple à utiliser que l'édition en ligne

La deuxième étape consiste à écrire . index.wsgi

Parce que nous utilisons le framework web.py en raison de sa bonne analyse XML.

Écrivez d'abord config.yaml

name: yangyanxing
version: 1
 
libraries:
- name: webpy 
 version: "0.36"
 
- name: lxml
 version: "2.3.4"
 
...
Copier après la connexion

Faites attention à l'indentation stricte, si vous manquez un espace, vous serez inutile! Et il est difficile de trouver des problèmes lors du débogage. . .

Ensuite, nous continuons à écrire index.wsgi

# coding: UTF-8
import os
 
import sae
import web
 
from weixinInterface import WeixinInterface
 
urls = (
'/weixin','WeixinInterface'
)
 
app_root = os.path.dirname(__file__)
templates_root = os.path.join(app_root, 'templates')
render = web.template.render(templates_root)
 
app = web.application(urls, globals()).wsgifunc()  
application = sae.create_wsgi_app(app)
Copier après la connexion

Une brève explication,

à partir de weixinInterface import WeixinInterface
Ici, nous devons créer un autre fichier py de weixinInterface. Vous pouvez également écrire cette classe dans le fichier index.wsgi, mais cela aura l'air compliqué

<. 🎜>Créez un nouveau fichier weixinInterface.py, faites attention à la majuscule et écrivez le code suivant


# -*- coding: utf-8 -*-
import hashlib
import web
import lxml
import time
import os
import urllib2,json
from lxml import etree
 
class WeixinInterface:
 
 def __init__(self):
  self.app_root = os.path.dirname(__file__)
  self.templates_root = os.path.join(self.app_root, &#39;templates&#39;)
  self.render = web.template.render(self.templates_root)
 
 def GET(self):
  #获取输入参数
  data = web.input()
  signature=data.signature
  timestamp=data.timestamp
  nonce=data.nonce
  echostr=data.echostr
  #自己的token
  token="yangyanxing" #这里改写你在微信公众平台里输入的token
  #字典序排序
  list=[token,timestamp,nonce]
  list.sort()
  sha1=hashlib.sha1()
  map(sha1.update,list)
  hashcode=sha1.hexdigest()
  #sha1加密算法  
 
  #如果是来自微信的请求,则回复echostr
  if hashcode == signature:
   return echostr
Copier après la connexion

Une méthode GET est définie ici , est une vérification de jeton basée sur les exigences de la plate-forme publique WeChat. Parce qu'ici, nous définissons templates_root comme modèles dans le répertoire racine, nous devons donc également créer un répertoire de modèles dans le répertoire racine

<🎜. >

Comment créer une plateforme publique WeChat en utilisant PythonParce que WeChat envoie les informations de vérification GET, la méthode GET est donc utilisée ici pour obtenir la valeur et renvoyer la valeur correspondante

Enregistrez tout et revenez maintenant à l'interface de gestion avancée de la plateforme publique de WeChat

Configuration de l'interface WeChat

Remplissez le nom de votre application dans Sina SAE dans l'url et ajoutez /weixin, tel que : http://XXXX.sinaapp.com/weixin Entrez le jeton comme vous aimez, faites juste attention. Changez simplement le jeton dans weixinInterface.py Après l'avoir saisi, cliquez sur Soumettre. S'il n'y a aucun problème, il passera la vérification !

Comment créer une plateforme publique WeChat en utilisant Python

La troisième étape , créer une méthode de réponse automatique simple , en répercutant comme perroquet l'utilisateur Quoi qu'il en soit tu dis, il va répondre quelque chose, ça ne sert à rien, juste pour s'amuser ! Continuer à ajouter du code dans weixinInterface.py


def POST(self):  
  str_xml = web.data() #获得post来的数据
  xml = etree.fromstring(str_xml)#进行XML解析
  content=xml.find("Content").text#获得用户所输入的内容
  msgType=xml.find("MsgType").text
  fromUser=xml.find("FromUserName").text
  toUser=xml.find("ToUserName").text
  return self.render.reply_text(fromUser,toUser,int(time.time()),u"我现在还在开发中,还没有什么功能,您刚才说的是:"+content)
Copier après la connexion

Cette définition est au même niveau que le GET précédent, veuillez noter Indent

Ensuite, nous créons le fichier modèle de réponse_text.xml dans le répertoire des modèles et écrivons le code suivant


$def with (toUser,fromUser,createTime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createTime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>
Copier après la connexion

Notez que toUser et fromUser ici sont opposés à ce qui a été publié tout à l'heure, car toUser ici est également fromUser dans la fonction POST, fromUser ici est également toUser dans la fonction POST, msgType est texte

All Save , utilisez maintenant votre WeChat personnel pour suivre le compte WeChat public que vous avez créé, puis saisissez du contenu S'il n'y a pas de questions, vous recevrez une réponse de perroquet !

Ce qui précède est tout le contenu de la création de la plateforme publique WeChat en python. Vous pouvez la construire selon les étapes ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal