搜尋
首頁微信小程式微信開發使用python建構微信公眾平台方法
使用python建構微信公眾平台方法Mar 19, 2017 pm 05:57 PM
python微信大眾平台

這篇文章主要介紹了python搭建微信公眾平台的相關資料和技巧,文中給出了詳細的python搭建微信公眾平台的步驟,有興趣的朋友可以參考一下

本文主要是一步一步教大家如何利用python搭建微信公眾平台,有興趣的朋友可以參考一下

使用的工具,python 新浪SAE平台,微信的公眾平台

你需要先在微信的公眾平台與新浪SAE平台上各種註冊,微信平台註冊的時候需要你拍張手持身分證的照片,還有幾天的審核期

#微信公眾平台:http://mp.weixin .qq.com

新浪SAE:http://sae.sina.com.cn/

等待微信大眾審核通過後,登入公眾平台後,點選進階功能。將會看到需要提供一個存取資訊:

使用python建構微信公眾平台方法

微信介面設定

那麼我們需要一個網址作為介面(這時就需要SAE上搭建Python的一個應用),Token呢,就是相當於我們和微信之間約定的“密碼”,這裡可以隨便填寫英文或者數字,但實測輸入純數字有時會有問題,所以還是字符串比較可靠。

第一步,在SAE上建構python的應用,在下圖的應用選擇python應用。

使用python建構微信公眾平台方法

 填好二級網域名稱和應用程式名稱等,選擇好語言。這裡我們使用Python開發選擇web應用程式。創建好應用程式之後,在程式碼管理中建立一個新的版本。而後我們可以選擇編輯程式碼。能夠實現線上編輯,根本用不著配置本地環境,SVN等等。當然像這種輕量級的應用在線編輯器就可以了,SVN的話還不如在線編輯好用

#第二步,編寫index.wsgi

因為我們使用的是web.py框架,因為其良好的xml解析。

先寫config.yaml

name: yangyanxing
version: 1
 
libraries:
- name: webpy 
 version: "0.36"
 
- name: lxml
 version: "2.3.4"
 
...

注意嚴格的縮進,差一個空格你就廢了!而且調試的時候很不好發現問題。 。 。

接著我們繼續寫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)

簡單解釋一下,



# #from weixinInterface import WeixinInterface

使用python建構微信公眾平台方法

這裡我們需要再建立一個weixinInterface的py文件,你也可以將這個類別寫在index.wsgi檔案中,只是這樣看起來會亂亂的

新建一個weixinInterface.py文件,注意大小寫,寫入以下程式碼

#
# -*- 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, 'templates')
  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

這裡定義了一個GET方法,是根據微信公共平台的要求,進行的token驗證,因為這裡我們定義了templates_root為根目錄下的templates,所以還要在根目錄下建立一個目錄templates的目錄使用python建構微信公眾平台方法

因為微信是將驗證訊息GET發出去的,所以這裡使用了GET方法來取得值並且返回相應用值保存全部,現在回到微信的公眾平台高級管理介面微信介面配置

在url裡面填寫你在新浪SAE裡應用名稱並且加上/weixin,如:http://XXXX.sinaapp.com/weixin token隨便輸入,只要注意更改weixinInterface.py中的token就行了,輸入好了以後點擊提交,如果沒有什麼問題的話就會通過驗證!

 

第三個步驟


,新建一個簡單的自動回覆的方法

,鸚鵡學舌,就是用戶說什麼,它也回復什麼,沒什麼用,只是隨便玩玩!

在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)
######### 這個def 是和上一個GET同級的,注意縮進######接著我們在templates目錄下建立reply_text.xml模板文件,寫入以下程式碼############
$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>
#######

注意這裡的toUser與fromUser是剛才post的是相反的,因為這裡的toUser也就是POST函數裡的fromUser,這裡的fromUser也就是POST函數裡的toUser,msgType是text

#全部保存,現在就在用你的個人微信關註一下你創建的公眾微信號,然後隨便輸入些內容,如果沒有什麼問題,你將會收到一條鸚鵡學舌的回复內容!

以上就是python搭建微信公眾平台的全部內容,大家可以依照上述步驟進行搭建。

以上是使用python建構微信公眾平台方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。