diff --git a/api/dingding.py b/api/dingding.py index 9393607..5c0193e 100644 --- a/api/dingding.py +++ b/api/dingding.py @@ -8,12 +8,19 @@ import requests import json import sys -import os -import datetime -import sys +import time,hmac,base64,hashlib,urllib.parse + + headers = {'Content-Type': 'application/json;charset=utf-8'} # 需要修改,钉钉群助手中获取 -api_url = "" +timestamp = str(round(time.time() * 1000)) +secret = 'SECf3aa0ec68151d6a0599d8d9db4fa40afa5341c358d53af717eb924f0fa29ee5f' +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)) +api_url = f"https://oapi.dingtalk.com/robot/send?access_token=abdec0db67d1ca355b547711f822e0bb60929295cd3c42c1e4c89c7f24b4872e×tamp={timestamp}&sign={sign}" def msg(text): json_text= { "msgtype": "text", @@ -27,6 +34,6 @@ def msg(text): "content": text } } - print(requests.post(api_url,json.dumps(json_text),headers=headers).content) + print(requests.post(api_url,json.dumps(json_text),headers=headers).content.decode()) -msg(sys.argv[1]+'\n'+sys.argv[2]+'\n'+sys.argv[3]) +msg('\n'+sys.argv[1]) \ No newline at end of file