Lernen Sie Python, um den Beispielcode des benutzerdefinierten DingTalk-Roboters zu verwenden

coldplay.xixi
Freigeben: 2020-08-13 17:12:34
nach vorne
2868 Leute haben es durchsucht

Lernen Sie Python, um den Beispielcode des benutzerdefinierten DingTalk-Roboters zu verwenden

1. Fügen Sie einen benutzerdefinierten Roboter hinzu 2. Schreiben Sie Python-Code, um den DingTalk-Roboter anzufordern Der angegebene Webhook

Benutzerdefiniertes offizielles DingTalk-Roboterdokument

Die sichere Methode verwendet die Signaturmethode:

Der erste Schritt besteht darin, den Zeitstempel + „n“ + Schlüssel als Signaturzeichenfolge zu verwenden und ihn mithilfe des HmacSHA256-Algorithmus Sign zu berechnen , dann Base64-Kodierung und schließlich urlEnkodieren Sie die Signaturparameter, um die endgültige Signatur zu erhalten (der UTF-8-Zeichensatz muss verwendet werden).

Parameter

Beschreibung

Zeitstempel td> Der aktuelle Zeitstempel in Millisekunden darf nicht mehr als 1 Stunde von der Anforderungsaufrufzeit entfernt sein

geheim

Geheimer Schlüssel, Seite mit den Sicherheitseinstellungen des Roboters, fügen Sie die Zeichenfolge hinzu, die mit SEC beginnt und unter der Signaturspalte angezeigt wird

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)
Nach dem Login kopieren
Im zweiten Schritt kombinieren Sie den Zeitstempel und den erhaltenen Im ersten Schritt wird der signierte Wert in die URL gespleißt.

Parameter

参数

说明

timestamp

当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时

secret

密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串

url='生成的Webhook&timestamp={}&sign={}'.format(timestamp, sign)
 
 
print (url)
headers={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "888"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)
Nach dem Login kopieren

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

参数

说明

timestamp

第一步使用到的时间戳

sign

第一步得到的签名值

Beschreibung


Zeitstempel

Der im ersten Schritt verwendete Zeitstempel

sign

Der im ersten Schritt erhaltene Signaturwert

Der dritte Schritt: Senden Sie die Anfrage

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={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "测试"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)
Nach dem Login kopieren
Ergebnis:
🎜🎜Gesamtcode: 🎜rrreee🎜🎜Verwandte Lernempfehlungen: 🎜Programmiervideo🎜🎜🎜

Das obige ist der detaillierte Inhalt vonLernen Sie Python, um den Beispielcode des benutzerdefinierten DingTalk-Roboters zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage