当前位置: 首页 > wzjs >正文

在自己的网站做外链网站编辑器无法显示

在自己的网站做外链,网站编辑器无法显示,徐州编程培训机构,电子商务企业网站建设发展论文💥💥✈️✈️欢迎阅读本文章❤️❤️💥💥 🏆本篇文章阅读大约耗时3分钟。 ⛳️motto:不积跬步、无以千里 📋📋📋本文目录如下:🎁🎁&am…

💥💥✈️✈️欢迎阅读本文章❤️❤️💥💥

🏆本篇文章阅读大约耗时3分钟。

⛳️motto:不积跬步、无以千里

📋📋📋本文目录如下:🎁🎁🎁

目录

前言

账号创建

代码实现

         1、添加配置

         2、测试接口

安全校验

章末

前言

        小伙伴们大家好,上篇文章是简单实现了常见的图形验证码的使用,文章链接如下:

【验证码】⭐️集成图形验证码实现安全校验-CSDN博客

        这篇文章来看下,如何整合飞书的群机器人发送自定义消息,一切从简(摆烂 bushi )

账号创建

        本地是在电脑端,点击左上角的加号,选择创建群组,之后在对应群组页面的右上角打开设置,点击群机器人,添加机器人,选择下面这一个即可

         点击创建机器人后可以获取到对应的 webhook 地址

代码实现

         1、添加配置

        将 webhook 加到配置文件中,然后用配置类来读取,将配置类交由 spring 管理

ext:larkBotConfig:webhookUrl: https://open.feishu.cn/open-apis/bot/v2/hook/3e2c19d1-8fdd-4b56-b147-b613e90064a5
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;/**** @author benbenhuang* @date 2025/5/18 21:13*/
@Configuration
@ConfigurationProperties(prefix = "ext")
@Data
public class ExtProperties {private final LarkBotConfig larkBotConfig = new LarkBotConfig();@Datapublic static class LarkBotConfig{private String webhookUrl;}
}
        2、测试接口

        将需要发送的消息,传递给接口,测试下 效果如下:

import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;/*** @author benbenhuang* @date 2025年05月18日 19:28*/
@RequestMapping("/testLark")
@RestController
@Slf4j
public class LarkController {@Autowiredprivate ExtProperties extProperties;@PostMapping("/send")public void sendLark(@RequestParam("notice") String notice){send(notice);}private void send(String notice){try {Map<String,Object> header=new HashMap();Map<String,Object> text=new HashMap();text.put("text",  notice);header.put("msg_type", "text");header.put("content", text);//发送post请求String result = HttpRequest.post(extProperties.getLarkBotConfig().getWebhookUrl()).body(JSON.toJSONString(header), "application/json;charset=UTF-8").execute().body();log.info("lark resp:{}", result);} catch (Exception e) {log.error("lark发送消息异常", e);}}}

 

安全校验

        1、上面的方式是没有加权限校验的实现,也就是说只要获取到 webhook 链接,谁都可以向这个群里发送消息,针对此情况可以开启群机器人的 权限校验,从这里开启,获取到秘钥之后,点击保存即可

         2、调整配置

        加入秘钥配置:

        3、测试接口

         安全校验具体到代码层面就是,请求参数中根据官方文档中要求的时间戳和加密后的sign值

自定义机器人使用指南 - 开发指南 - 飞书开放平台

@RequestMapping("/teatLark")
@RestController
@Slf4j
public class LarkController {@Autowiredprivate ExtProperties extProperties;@PostMapping("/sendWithToken")public void sendLarkWithToken(@RequestParam("notice") String notice){sendWithSignature(notice);}private void sendWithSignature(String notice) {String secret = extProperties.getLarkBotConfig().getSecret(); // 从 Lark 后台获取String timestamp = String.valueOf(System.currentTimeMillis() / 1000); // 当前时间戳,单位秒String sign = calculateSignature(timestamp, secret);try {Map<String,Object> json=new HashMap();Map<String,Object> text=new HashMap();text.put("text",  notice);json.put("msg_type", "text");json.put("content", text);json.put("timestamp", timestamp);json.put("sign", sign);//发送post请求String result = HttpRequest.post(extProperties.getLarkBotConfig().getWebhookUrl()).body(JSON.toJSONString(json), "application/json;charset=UTF-8").execute().body();log.info("lark resp:{}", result);} catch (Exception e) {log.error("lark发送消息异常", e);}}private static String calculateSignature(String timestamp, String secret) {try {//把timestamp+"\n"+密钥当做签名字符串String stringToSign = timestamp + "\n" + secret;//使用HmacSHA256算法计算签名Mac mac = Mac.getInstance("HmacSHA256");mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256"));byte[] signData = mac.doFinal(new byte[]{});return new String(Base64.getEncoder().encodeToString(signData));} catch (Exception e) {throw new RuntimeException("sign 计算异常");}}}

章末

       文章到这里就结束了~

往期推荐 > > > 

 【服务器搭建】✈️用自己电脑搭建一个服务器!

 【IDEA】✈️自定义模板,自动生成类和方法注释

 【日志链路】⭐️SpringBoot 整合 TraceId 日志链路追踪!

http://www.dtcms.com/wzjs/829436.html

相关文章:

  • 建企业网站程序系统佛山免费建站怎样
  • 淮北 网站建设 有限公司品牌推广广告
  • 常州市网站建设网络营销计划包括哪七个步骤
  • 用myeclipse做网站北京装修公司排名前十名
  • 东莞seo网站关键词优优化企业网络营销培训
  • 阿里巴巴网站中详情页怎么做链接关系 网站层次结构
  • 网站营销应该怎么做嘉定华亭网站建设
  • 有没有大人和小孩做的网站wordpress 定时采集
  • 网站运营问题便民的网站app怎么做
  • 网站运营是具体的大型的网站建设公司
  • 佛山市企业网站seo营销工具珠海电商网站制作
  • 产品介绍网站如何做seowordpress 全局变量
  • 十堰网站建设怎么样seo及网络推广
  • 襄阳建设路21号创意园网站做网站得花多钱
  • 网站建设 今晟网络外贸精品网站建设
  • 外卖平台做网站最大上传大小wordpress
  • vps建两个网站要两个程序池吗wordpress主页广告
  • 宝钢建设工程有限公司网站自助搭建网站
  • 华为手机官方网站登录聊城做网站找谁
  • 西安网站建设 招聘做网站需要几个程序
  • 有关网站建设的外文参考文献注册安全工程师职业资格制度规定
  • 中小企业的网站建设方案seo排名网站 优帮云
  • 网站建设珠海 新盈科技公司网站建设公司济南
  • 网页制作成品网站自己做婚恋网站
  • 邢台企业做网站报价公司网站运营维护单位
  • wordpress 网站底部美化线下推广平台有哪些
  • 怎么查网站备案域名国外有哪些设计网站推荐
  • 南京制作网站要多少钱网页搭建
  • 免费图片素材网站有哪些网站的域名能修改么
  • 怎么写网站建设与运营河南中州路桥建设有限公司网站