zoukankan      html  css  js  c++  java
  • python发送丁丁消息

    import requests
    import time
    import hashlib
    import hmac
    import base64
    import re
    
    def SendMessage(message = ''):
    
        # secret:密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串,例如:SECxxxxxxxx
        secret = 'SECxxxxxxxx'
        # access_token:创建完钉钉机器人之后会自动生成,例如:access_tokenxxxx
        access_token = 'access_tokenxxxx'
        # timestamp:当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时
        timestamp = int(round(time.time() * 1000))
    
        # 加密,获取sign和timestamp
        data = (str(timestamp) + '
    ' + secret).encode('utf-8')
        secret = secret.encode('utf-8')
        signature = base64.b64encode(hmac.new(secret, data, digestmod=hashlib.sha256).digest())
        reg = re.compile(r"'(.*)'")
        signature = str(re.findall(reg,str(signature))[0])
    
        # 发送信息
        url = 'https://oapi.dingtalk.com/robot/send?access_token=%s&sign=%s&timestamp=%s' % (access_token,signature,timestamp)
        headers = {"Content-Type": "application/json ;charset=utf-8 "}
        try:
            response = requests.post(url, headers = headers, json = message, timeout = (3,60))
            print(response)
            response_msg = str(response.status_code) + ' ' + str(response.content)
            print(response_msg)
        except Exception as error_msg:
            print('error_msg==='+str(error_msg))
            response_msg = error_msg
    
        return response_msg
    
    if __name__ == "__main__":
        msg = {"msgtype":"text","text":{"content":"测试"},"at":{"isAtAll":False}}
        SendMessage(msg)
  • 相关阅读:
    docker学习(3) 容器的启动过程
    docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
    docker学习(1) 安装
    maven/gradle 打包后自动上传到nexus仓库
    bash/shell编程学习(3)
    jenkins 入门教程(下)
    jenkins 入门教程(中)
    jenkins 入门教程(上)
    bash/shell编程学习(2)
    ssh远程执行目标机器上的命令
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/14772410.html
Copyright © 2011-2022 走看看