PHP接入钉钉机器人报警
- 首先在钉钉群设置里面增加机器人
- PHP访问
首先在钉钉群设置里面增加机器人
具体可参考文章:https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi
PHP访问
如果设置的敏感词,那么发送的消息中必须含有敏感词,才可以成功发送
如果设置了验签,那么必须要计算签名才可以发送
下面是验签方式的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php $url = 'webhook地址'; // 第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。 $time = time() *1000;//毫秒级时间戳,我这里为了方便,直接把时间*1000了 $secret = '这是密钥'; $sign = hash_hmac('sha256', $time . "\n" . $secret,$secret,true); $sign = base64_encode($sign); $sign = urlencode($sign); $msg = [ 'msgtype' => 'text',//这是文件发送类型,可以根据需求调整 'text' => [ 'content' => '这是需要发送的内容', ], ]; $url = "{$url}×tamp={$time}&sign={$sign}"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($msg)); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($curl); curl_close($curl); var_dump($res); |