釘釘自定義機械人官方文件
安全方式使用加簽的方式:
第一步,把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...