Maison > Article > développement back-end > Apprenez Python à utiliser l'exemple de code du robot DingTalk personnalisé
1. Ajouter un robot personnalisé
Recommandations d'apprentissage associées : Tutoriel vidéo Python
2. Écriture Le code python demande le webhook donné par le robot DingTalk
Document officiel du robot personnalisé DingTalk
Utilisez la méthode de signature de manière sécurisée :
La première étape consiste à utiliser l'horodatage+"n"+clé comme chaîne de signature, à utiliser l'algorithme HmacSHA256 pour calculer la signature, puis à effectuer un encodage Base64. Enfin, urlEncodez les paramètres de signature pour obtenir la signature finale (. vous devez utiliser le jeu de caractères UTF -8).
|
Description
|
horodatage |
L'horodatage actuel, en millisecondes, ne peut pas dépasser 1 heure à compter de l'heure de l'appel de la demande | secret | Clé, page des paramètres de sécurité du robot, la chaîne commençant par SEC affichée sous la colonne de signature |
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)
La deuxième étape consiste à fusionner l'horodatage et la valeur de signature obtenue lors de la première étape dans l'URL.
Paramètres |
Description | horodatage | L'horodatage utilisé dans la première étape |
signe | La valeur de signature obtenue lors de la première étape |
url='生成的Webhook×tamp={}&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)Résultat : Code global :
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)Recommandations d'apprentissage associées : Vidéo de programmation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!