Apprenez Python à utiliser l'exemple de code du robot DingTalk personnalisé

coldplay.xixi
Libérer: 2020-08-13 17:12:34
avant
2866 Les gens l'ont consulté

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

参数

说明

timestamp

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

secret

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

Paramètres

Description

参数

说明

timestamp

第一步使用到的时间戳

sign

第一步得到的签名值

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)
Copier après la connexion

La deuxième étape consiste à fusionner l'horodatage et la valeur de signature obtenue lors de la première étape dans l'URL.

< tr>
Paramètres

Description

horodatage
<🎜>L'horodatage utilisé dans la première étape<🎜>
<🎜> signe <🎜><🎜>La valeur de signature obtenue lors de la première étape<🎜>
<🎜><🎜>La troisième étape, Envoyer la demande <🎜>
url=&#39;生成的Webhook&timestamp={}&sign={}&#39;.format(timestamp, sign)
 
 
print (url)
headers={
 &#39;Content-Type&#39;:&#39;application/json&#39;
}
json={"msgtype": "text",
 "text": {
  "content": "888"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)
Copier après la connexion
<🎜> 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 = &#39;加签时生成的密钥&#39;
secret_enc = secret.encode(&#39;utf-8&#39;)
string_to_sign = &#39;{}\n{}&#39;.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode(&#39;utf-8&#39;)
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)
Copier après la connexion
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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal