python微信接口发送消息_调用微信API发送微信消息python脚本
前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。要用微信发消息,自己首先要有微信企业号,如果没有申请也容易
准备工作:
1.申请微信企业号
2.在企业号后台创建应用
3.关注微信企业号
脚本用Python3写的,内容如下:
#!/usr/local/python3.5/bin/python3.5
import json
import sys
import os
import time
import urllib.request
tkapi = ‘https://qyapi.weixin.qq.com/cgi-bin/gettoken‘
msgapi = ‘https://qyapi.weixin.qq.com/cgi-bin/message/send‘
corpid = ‘微信企业号corpid‘
corpsecret = ‘微信企业号corpsecret‘
agentid = ‘微信企业号创建的应用ID‘
tokentmp = ‘token.txt‘
url = "%s?corpid=%s&corpsecret=%s" % (tkapi,corpid,corpsecret)
senduser = sys.argv[1]
msg = sys.argv[2]
nowtime = int(time.time())
def gettoken():
try:
res = urllib.request.urlopen(url)
if res.status == 200:
result = res.read()
result = str(result, encoding = "utf-8")
jresult = json.loads(result)
errcode = jresult[‘errcode‘]
if errcode == 0:
token = jresult[‘access_token‘]
token = token.strip(‘\r‘)
token = token.strip(‘\n‘)
f = open(tokentmp,‘w‘)
log = "%s:%s" % (nowtime,token)
f.write(log)
f.close()
return(‘0‘,token)
else:
return(‘1‘,‘get token fail‘)
else:
return(‘1‘,‘get token return http code error‘)
except Exception as e:
#print(Exception,":",e)
return(‘1‘,‘get token http request fail‘)
def sendmsg(token,senduser,msg):
SendMsgUrl = "%s?access_token=%s" % (msgapi,token)
data = {‘touser‘:senduser,‘msgtype‘:‘text‘,‘agentid‘:agentid,‘text‘:{‘content‘:msg}}
data = json.dumps(data)
data = data.replace(‘-n‘,‘\\n‘)
data = bytes(data,‘utf8‘)
try:
request = urllib.request.Request(SendMsgUrl)
res1 = urllib.request.urlopen(request,data)
if res1.status == 200:
result1 = res1.read()
result1 = str(result1, encoding = "utf-8")
jresult1 = json.loads(result1)
errcode1 = jresult1[‘errcode‘]
if errcode1 == 0:
return(‘0‘,errcode1)
else:
return(‘1‘,‘send msg fail‘)
else:
return(‘1‘,‘send msg return http code error‘)
except:
return(‘1‘,‘send msg http request fail‘)
if os.path.exists(tokentmp):
tk = open(tokentmp,‘r‘).readline()
tk = str(tk)
tkstrs = tk.split(‘:‘)
lasttime = int(tkstrs[0])
if nowtime - lasttime < 3600:
token = tkstrs[1]
stat = ‘0‘
else:
(stat,token) = gettoken()
else:
(stat,token) = gettoken()
if stat == ‘0‘:
(stat1,msgresult) = sendmsg(token,senduser,msg)
if stat1 == ‘0‘:
print(‘send message success‘)
else:
print(‘get token success,send message fail errinfo:‘+msgresult)
else:
print(‘get token fail errinfo:‘+token)
脚本使用方法:
python3.5 wenxin.py 消息接收人 消息内容
python3.5 wenxin.py opsfans ‘微信测试消息‘
消息内容换行符为‘-n‘
python水平有限,大牛勿喷
原文地址:http://blog.51cto.com/13719882/2129939
python微信接口发送消息_调用微信API发送微信消息python脚本相关推荐
- java传真发送_调用java API发送传真
最近搞了一个java发送传真程序,在网上搜了半天,没找到具体的例子,最后找到了国外的开源技术jacob,才解决了这个问题. 环境要求:windows xp系统,jdk 1.4(不要太高或太低,不然会发 ...
- C#调用新浪微博API发送消息成功
成功一小步,用C#调用新浪微博API发送消息成功,庆祝一下.其实没什么难的,主要是看新浪的开发文档受到了误导. 在新浪的文档里面的参数从说明到例子都是组合参数,并且遗漏了一个参数说明,调试的时候查看错 ...
- java群发图文消息_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...
在上一篇文章中,我们实现了被关注回复与关键词回复功能.在用户关注的时候自动推送功能菜单,并根据用户输入的关键词,回复特定信息.但是,我们只能回复文本消息给用户,如何才回复一条图文消息呢?本周,我们一起 ...
- python图灵机器人怎么退出_python调用图灵机器人实现微信自动回复
python调用图灵机器人实现微信自动回复 发布时间:2018-06-17 22:04, 浏览次数:338 , 标签: python 环境准备: 微信号 pip install itchat pi ...
- java 微信群发多图文_[Java教程]httpClient实现微信公众号消息群发
[Java教程]httpClient实现微信公众号消息群发 0 2016-09-21 20:00:10 1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信ope ...
- python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...
本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存.其实,以前也写过类似的文章, ...
- python 爬取直播弹幕视频_调用斗鱼API爬取直播间弹幕信息(用户昵称及弹幕内容)...
调用斗鱼API爬取直播间弹幕信息(用户昵称及弹幕内容) 查看<斗鱼弹幕服务器第三方接入协议v1.4.1>,了解斗鱼API的使用方法,即如何连接斗鱼弹幕服务器.维持连接及获取弹幕信息 Pyt ...
- 微信接口php oa,你必须了解OA与微信结合的几种方式
企业号来了,微信再一次以其移动互联网第一入口的绝对优势引来一片膜拜.对于管理软件厂商而言,尤其是被企业赋予移动办公统一入口使命的协同OA而言,这幸福来得有些特别:因为企业号的推动,大把的移动互联用户都 ...
- python生成接口文档_使用apiDoc实现python接口文档编写
使用apiDoc实现python接口文档编写 apiDoc的安装 npm install apidoc -g 生成api的终端命令:apidoc -i 代码所在路径-o 生成文件的路径 接口文档的编写 ...
最新文章
- 【C++】unordered_map 使用方法
- python selenium webdriver方法封装(find_element_by)
- CF-825 G.Tree Queries(DFS)
- 前端学习(2686):重读vue电商网站7之登录预校验
- leetcode数组汇总_LeetCode刷题实战43:字符串相乘
- python 类命名空间,关于python:命名空间和类
- 带权二部图匹配(KM算法)讲解及Matlab实现
- vue3.0 关闭 eslint
- 1、【QT】QT6.2 官网下载与安装教程
- android 隐藏电池,Android8.1隐藏状态栏电池图标
- 华为手机 6.0 拍照相册选择权限问题
- 模拟输出21点所有可能的Black Jack牌型
- 关于一粒云盘使用心得
- 如何考量私有云的解决方案
- 济南联通软件研究院面试总结
- dmhs之dm8 to dm8
- CTR 预测理论(九):Boosting 集成算法中 Adaboost, GBDT 与 XGBoost 的区别
- NOI OJ 1.3 14:大象喝水 C语言
- 关于扼制抑制Win10自动更新,关闭更新方法
- hdu 5266 pog loves szh III LCA+RMQ
热门文章
- 网易云音乐播放背景随歌曲封面变化
- 开发中,模拟器网络请求成功,真机网络请求失败
- PythonC++相互混合调用编程全面实战-18c++给python传递变量的两种方法
- 傅老师黑暗之魂复刻笔记(第一季第一部分)
- 雅虎天气API 多语言参数
- 100%绝对是良心之作 300元以下机箱推荐
- OUTLOOK之不能直接发送邮件的Mapi错误解决方法
- WZOI-281十六进制转十进制
- 【我的Android进阶之旅】解决Android项目编译报错: Program type already present : com.xxx.xxxx.BuildConfig
- 微信支付之-扫码支付-模式2(模式1)