python使用自定義釘釘機械人

2021-10-07 08:21:08 字數 2422 閱讀 3067

釘釘自定義機械人官方文件

安全方式使用加簽的方式:

第一步,把timestamp+"\n"+金鑰當做簽名字串,使用hmacsha256演算法計算簽名,然後進行base64 encode,最後再把簽名引數再進行urlencode,得到最終的簽名(需要使用utf-8字符集)。

引數

說明

timestamp

當前時間戳,單位是毫秒,與請求呼叫時間誤差不能超過1小時

secret

金鑰,機械人安全設定頁面,加簽一欄下面顯示的sec開頭的字串

import requests

#python 3.8

import time

import hmac

import hashlib

import base64

import urllib.parse

timestamp = str(round(time.time() * 1000))

secret = '加簽時生成的金鑰'

secret_enc = secret.encode('utf-8')

string_to_sign = '{}\n{}'.format(timestamp, secret)

string_to_sign_enc = string_to_sign.encode('utf-8')

hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()

sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))

print(timestamp)

print(sign)

第二步,把 timestamp和第一步得到的簽名值拼接到url中。

引數

說明

timestamp

第一步使用到的時間戳

sign

第一步得到的簽名值

第三步,傳送請求

url='生成的webhook×tamp={}&sign={}'.format(timestamp, sign)

print (url)

headers=

json= }

resp=requests.post(url=url,headers=headers,json=json)

print (resp.text)

結果:

import requests

#python 3.8

import time

import hmac

import hashlib

import base64

import urllib.parse

timestamp = str(round(time.time() * 1000))

secret = '加簽時生成的金鑰'

secret_enc = secret.encode('utf-8')

string_to_sign = '{}\n{}'.format(timestamp, secret)

string_to_sign_enc = string_to_sign.encode('utf-8')

hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()

sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))

print(timestamp)

print(sign)

url='生成的webhook×tamp={}&sign={}'.format(timestamp, sign)

print (url)

headers=

json= }

resp=requests.post(url=url,headers=headers,json=json)

print (resp.text)

釘釘機械人自定義通知 python

安全設定是必填項 自定義關鍵字 報警 釘釘傳送通知時,必須包含 關鍵子 報警 不然會 報 keyword not in content。釘釘文件 python 指令碼 body at coding utf 8 linux 和mac中加上,不然報編碼錯誤 或者是 encoding utf 8 字串連線...

Python呼叫釘釘自定義機械人的實現

前言 由於公司使用釘釘,之前告警都是使用郵箱,但是這種協同效率比較低,所以呼叫釘釘機械人來實現實時告警。建立機械人 建立釘釘群,然後添 機械人。python 如下 1 導包 import js程式設計客棧on import requests 2 釘釘機械人的呼叫 def dd robot msg h...

釘釘自定義預警接入 php

企業內部資料異常預警 每個機械人每分鐘最多傳送20條。如果超過20條,會限流10分鐘。需要在pc端後台新增機械人,設定安全設定 ip段限制,關鍵字限制,簽名限制 1 ip段限制 直接針對ip介面限制,裡面沒有標識 function request by curl remote server,post...