zoukankan      html  css  js  c++  java
  • python与shell通过微信企业号发送消息

    python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位

    shell版本:

    #!/bin/bash
    #
    CropID="xxxx"
    
    Secret="xxxxxx"
    
    GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
    Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $4}')
    PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
    Content=$1
    echo $Content
    /usr/bin/curl --data-ascii '{ "touser": "@all", "toparty": " @all ","msgtype": "text","agentid": "1","text": {"content": "'${Content}'"},"safe":"0"}' $PURL

    python2版本:

    #!/usr/bin/python
    # coding: utf-8
    
    import urllib,urllib2
    import json
    import sys
     
    def gettoken(corpid,corpsecret):
        gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
        try:
          token_file = urllib2.urlopen(gettoken_url)
        except urllib2.HTTPError as e:
            print e.code
            print e.read().decode("utf8")
          sys.exit()
        token_data = token_file.read().decode('utf-8')
        token_json = json.loads(token_data)
        token_json.keys()
        token = token_json['access_token']
        return token
     
    def senddata(access_token,user,content):
        send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
        send_values = {
            "touser":user,    #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
            "toparty":"1",    #企业号中的部门id
            "msgtype":"text",  #企业号中的应用id,消息类型。
            "agentid":"1",
            "text":{
                "content":content
               },
            "safe":"0"
            }
        send_data = json.dumps(send_values, ensure_ascii=False)
        send_request = urllib2.Request(send_url, send_data)
        response = json.loads(urllib2.urlopen(send_request).read())
        print str(response)
     
    if __name__ == '__main__':
        user = str(sys.argv[1])   #zabbix传过来的第一个参数
        content = str(sys.argv[2])  #zabbix传过来的第三个参数
        corpid = 'xxxx'   #CorpID是企业号的标识
        corpsecret = 'xxxx'  #corpsecretSecret是管理组凭证密钥
        accesstoken = gettoken(corpid,corpsecret)
        senddata(accesstoken,user,content)

    顺道再讲下微信页面的设置

    1. 首先新建一个管理组

    2.再建一个应用

    参考:

    http://joy1991.blog.51cto.com/8359406/1693127

    http://sunday208.blog.51cto.com/377871/1736278

  • 相关阅读:
    JVM调优总结(八)-典型配置举例2
    JVM调优总结(七)-典型配置举例1
    ajax---异步请求对象的属性和方法
    ajax----发送异步请求的步骤
    ajax---获取XMLHttpReuquest 对象
    ajax--参数默认值问题
    ajax--参数映射方式实现阴影效果
    ajax-简单参数方法实现阴影效果
    ajax之阴影效果实现(对象函数方法)
    ajax对象方法的使用
  • 原文地址:https://www.cnblogs.com/caoguo/p/5668653.html
Copyright © 2011-2022 走看看