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