python实现微信自动发信息_python自动发微信api

python实现微信自动发信息_python自动发微信api前阵子部署zabbix监控系统,做了个微信报警,下面分享下微信调API发消息的脚本。要用微信发消息,自己首先要有微信企业号,如果没有申请也容易准备工作:1.申请微信企业号2.在企业号后台创建应用3.关注微信企业号脚本用Python3写的,内容如下:#!/usr/local/python3.5/bin/python3.5importjsonimportsysimportosimporttim…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前阵子部署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水平有限,大牛勿喷

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186648.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 驰骋工作流jeesite4_jflow的安装讲解

    驰骋工作流jeesite4_jflow的安装讲解Jeesite4 Jflow 安装讲解百度搜索 jflow4 jflow 打开链接进入到码云上 在克隆下载里面选择你所需要的下载方式 推荐 svn 下载 后期可随时更新代码 代码更新是通过 svn 提交 码云转换其他会有延迟 其他方式你获取的可能不是最新代码 2 复制 svn 的链接 svn gitee com thinkgem jeesite4 jflow SVNCheckout 下载到本机上 下载的账号密码为码云账号密码

    2025年7月6日
    3
  • 大数据:数据采集平台之Fluentd

    大数据:数据采集平台之Fluentd大数据:数据采集平台之Fluentd官网:http://docs.fluentd.org/articles/quickstartFluentd是一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。TreasureData,Inc对该产品提供支持和维…

    2022年5月1日
    126
  • dubbo 异步调用

    dubbo 异步调用dubbo异步调用使用总结

    2022年7月11日
    21
  • qmake中文官方文档

    qmake中文官方文档qmakeQMake提供了一个用于管理应用程序,库,其他组件的构建过程的面向工程系统QMake扩展了每个工程文件的信息,生成一个执行编译和连接过程的Makefile本文翻译自Qt4.8官方文档。一、QMake使用QMake提供了一个用于管理应用程序、库、其它组件的构建过程的面向工程系统。QMake扩展了每个工程文件的信息,生成一个执行编译和链接过程的必须命令的MakeFile。1、描述工程工程文件.pro描述了工程信息。工程文件信息会被qmake用于生成包含构建过程中所需的所有命令的Mak

    2022年5月19日
    44
  • python舆情系统开发_什么是舆情

    python舆情系统开发_什么是舆情下面的这篇文章将手把手教大家搭建一个简单的股票舆情分析系统,其中将先通过金融界网站爬取指定股票在一段时间的新闻,然后通过百度情感分析接口,用于评估指定股票的正面和反面新闻的占比,以此确定该股票是处于利好还是利空的状态。1、环境准备本地环境:Python3.7IDE:Pycharm库版本:re2.2.1lxml4.6.3requests2.24.0aip4.15.5matplotlib3.2.1然后,导入需要用到的所有库:importrequest

    2022年9月20日
    4
  • OS用户态和内核态[通俗易懂]

    OS用户态和内核态[通俗易懂]1、linux进程有4GB地址空间,如图所示:3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。2、特权级的概念:对于任何操作系统来说,创建一个进程是核心功能。创建进程要做很多工作,会消耗很多物理资源。比如分配物理内存,父子进程拷贝信息,拷贝设置页目录页表等等,这些工作得由特定的进程去做,所以就有了特权级别的概念。最关键的工作必须交给特权级最高的进程去执行,这样可以做到集中管理,减少有限资源的访问和使用冲突。interx86架构的cp

    2022年9月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号