Python编程之微信推送模板消息功能示例

yipeiwu_com6年前Python基础

本文实例讲述了Python微信推送模板消息功能。分享给大家供大家参考,具体如下:

官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

具体代码如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import httplib
import json
import MySQLdb
#从数据库中获取access_token
access_token=""
try:
  conn=MySQLdb.connect(host='192.168.1.1',user='root',passwd='root',db='db_weixin',port=3306)
  cur=conn.cursor()
  cur.execute('select access_token from weixin_public')
  result=cur.fetchone()
  #print result
  #print result[0]
  access_token=result[0]
  cur.close()
  conn.close()
except MySQLdb.Error,e:
  print "Mysql Error %d: %s" % (e.args[0], e.args[1])
#根据接口推送消息
if not access_token is None:
  conn = httplib.HTTPConnection("api.weixin.qq.com:80")#微信接口链接
  headers = {"Content-type":"application/json"} #application/x-www-form-urlencoded
  params = ({'touser' : "oEGZ4johnKOtayJbnEVeuaZr6zQ0",#用户openid
  'template_id' : 'AtFuydv8k_15UGZuFntaBzJRCsHCkjNm1dcWD3A-11Y',#模板消息ID
  'url' : '//www.jb51.net',#跳转链接
  "topcolor" : "#667F00",#颜色
  "data" : {#模板内容
    "first" : {"value" : "尊敬的710.so : 您的网站//www.jb51.net (192.168.1.1) 有异常访问", "color" : "#173177"},
    "keyword1" : {"value" : "访问时间 2015-04-05 15:30:59 访问IP 192.168.1.2", "color" : "#173177"},
    "keyword2" : {"value" : "访问链接 //www.jb51.net", "color" : "#173177"},
    "remark" : {"value" : "访问频率 10/s", "color" : "#173177"}
    }
  }
  )
  conn.request("POST", "/cgi-bin/message/template/send?access_token="+access_token, json.JSONEncoder().encode(params), headers)#推送消息请求
  response = conn.getresponse()
  data = response.read()#推送返回数据
  if response.status == 200:
    print 'success'
    print data
  else:
    print 'fail'
  conn.close()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》。

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python中 Lambda表达式全面解析

什么是Lambda表达式 “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam...

asyncio 的 coroutine对象 与 Future对象使用指南

coroutine 与 Future 的关系 看起来两者是一样的,因为都可以用以下的语法来异步获取结果, result = await future result = await...

PyQtGraph在pyqt中的应用及安装过程

PyQtGraph在pyqt中的应用及安装过程

1.PyQtGraph简介: pyqtgraph的主要用途: 1、为数据、绘图、视频等提供快速、可交互图形显示。 2、提供快速开发应用的工具。 2.PyQtGraph的安装: pip i...

Python2中文处理纪要的实现方法

python2不是以unicode作为基本代码字符类型,碰到乱码的几率是远远高于python3,但即便如此,相信很多人,也不想随意的迁移到python3,这里就总结几个我平常碰到的问题及...

Python可视化mhd格式和raw格式的医学图像并保存的方法

Python可视化mhd格式和raw格式的医学图像并保存的方法

mhd格式的文件里面包含的是raw图像的一些头信息,比如图片大小,拍摄日期等等,那么如何可视化图像呢? import cv2 import SimpleITK as sitk imp...