import base64
import hashlib
import hmac
import json
import time
import urllib.parse
import requests
def send_rebot(secret: str, access_token: str, content: str):
timestamp = str(round(time.time() * 1000))
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))
url = 'https://oapi.dingtalk.com/robot/send?access_token=' + access_token + '×tamp=' + timestamp + '&sign=' + sign
headers = {'content-type': 'application/json',
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
data = {
"at": {},
"text": {
"content": content
},
"msgtype": "text"
}
r = requests.post(url, data=json.dumps(data), headers=headers)
text = json.loads(r.text)
return text["errmsg"] == 'ok'
**注意:**用json.dumps不是json.dump