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


Posted in Python onAugust 21, 2017

本文实例讲述了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' : 'https://3water.com',#跳转链接
  "topcolor" : "#667F00",#颜色
  "data" : {#模板内容
    "first" : {"value" : "尊敬的710.so : 您的网站https://3water.com (192.168.1.1) 有异常访问", "color" : "#173177"},
    "keyword1" : {"value" : "访问时间 2015-04-05 15:30:59 访问IP 192.168.1.2", "color" : "#173177"},
    "keyword2" : {"value" : "访问链接 https://3water.com", "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项目发布为exe可执行程序过程分享
Oct 23 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
在Python中获取两数相除的商和余数方法
Nov 10 Python
Python中垃圾回收和del语句详解
Nov 15 Python
python实现两张图片的像素融合
Feb 23 Python
python字典的遍历3种方法详解
Aug 10 Python
python getpass模块用法及实例详解
Oct 07 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 Python
Python 统计序列中元素的出现频度
Apr 26 Python
使用Python写一个贪吃蛇游戏实例代码
Aug 21 #Python
virtualenv实现多个版本Python共存
Aug 21 #Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 #Python
python 垃圾收集机制的实例详解
Aug 20 #Python
python 实现tar文件压缩解压的实例详解
Aug 20 #Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 #Python
Python中input与raw_input 之间的比较
Aug 20 #Python
You might like
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
PHP速成大法
2015/01/30 PHP
PHP里的单例类写法实例
2015/06/25 PHP
利用php输出不同的心形图案
2016/04/22 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
Nuxt.js 静态资源和打包的操作
2020/11/06 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
使用DataFrame删除行和列的实例讲解
2018/04/08 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
网络编辑职责
2014/03/01 职场文书
党员个人剖析材料
2014/09/30 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android