Heim  >  Artikel  >  Backend-Entwicklung  >  Lernen Sie Python, um den Beispielcode des benutzerdefinierten DingTalk-Roboters zu verwenden

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

coldplay.xixi
coldplay.xixinach vorne
2020-08-13 17:12:342866Durchsuche

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)
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)

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

参数

说明

timestamp

第一步使用到的时间戳

sign

第一步得到的签名值

Beschreibung


Zeitstempel td>

Der im ersten Schritt verwendete Zeitstempel

sign

Der im ersten Schritt erhaltene Signaturwert

td>

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)
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:jb51.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen