POST错误
Opened this issue · 1 comments
imhut commented
钉钉官方文档接口.php?msg={header}/{content},可以收到钉钉机器人推送,但是后台显示Exception: 监测到变化,但发送通知错误:Custom Exception: JSONDecodeError('Expecting value: line 1 column 1 (char 0)');
所以,最后会导致监控没有更新依然不停推送消息。。。
imhut commented
准确说应该是GET的一个错误,目前已经解决此问题,太难了。。。
具体哪一行看不到原文了,已经弄得有点凌乱了,简单说一下吧json.loads用法有点问题,换json.dumps就ok了。。。。
其实钉钉也比较简单集成,参考一下:
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
secret = 'xxxx'
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(base64.b64encode(hmac_code))
# print(timestamp)
# print(sign)
import requests,json #导入依赖库
headers={'Content-Type': 'application/json'} #定义数据类型
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=xxxx×tamp='+timestamp+"&sign="+sign
#定义要发送的数据
#"at": {"atMobiles": "['"+ mobile + "']"
data = {
"msgtype": "text",
"text": {"content": '加个钉钉呗,不过有了get和post,无所谓了'},
"isAtAll": True}
res = requests.post(webhook, data=json.dumps(data), headers=headers) #发送post请求