【Java开发】Java实现调用微信机器人,发送企业微信通知

news/2024/9/9 14:30:32

请直接看原文:

【Java开发】Java实现调用微信机器人,发送企业微信通知_java 企业微信推送机器人消息-CSDN博客

-------------------------------------------------------------------------------------------------------------------------------

企业微信机器人发送消息
  • 一、可能需要的依赖
  • 二、机器人地址号查看
  • 三、效果展示
  • 四、具体代码

一、可能需要的依赖

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.3</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.1.23</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>

二、机器人地址号查看

新建一个群聊机器人,可以查看机器人的接口地址,不需要密钥和企业id号
在这里插入图片描述

三、效果展示

在这里插入图片描述
输如需要发送的消息

在这里插入图片描述

获取返回值

在这里插入图片描述

微信收到消息
在这里插入图片描述

四、具体代码

如果觉得不错就点个赞吧!!

package TEST3;

import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.Scanner;


public class SendMsg2 {

    public static void main(String[] args) throws IOException {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入要发送的消息内容:");
        String content = scan.nextLine();
        sendText(content);
    }

    //消息体
    //拼接json字符串
    //可以进行其他的拓展 比如卡片形式、图片形式等
    public static String sendText(String content) throws IOException {

        content =   "{\n" +
                "   \"msgtype\": \"text\",\n" +
                "   \"text\": {\n" +
                "    \"content\": \"" + content + "\"\n" +
                "  }\n" +
                "}";

        return send(content);
    }

    public static String send(String textMsg) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();//实例化对象
        HttpPost httpPost = new HttpPost("https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=33d69c01-d962-478b-8945-288e00e2abf2");//url地址
        httpPost.addHeader("Content-Type", "application/json; charset=utf-8");//发送消息的格式;
        StringEntity se = new StringEntity(textMsg, "utf-8");//编码转换
        httpPost.setEntity(se);
        CloseableHttpResponse response = httpClient.execute(httpPost);
        //发送成功接收返回值
        if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            String result = EntityUtils.toString(response.getEntity(), "utf-8");
            System.out.println("发送微信机器人消息成功 " + result);
            return result;
        } else {
            System.out.println("发送微信机器人消息失败");
        }
        // 关闭
        httpClient.close();
        response.close();
        return "发送微信机器人消息失败";
    }
}

 


http://lihuaxi.xjx100.cn/news/2066694.html

相关文章

java面试:反射和动态代理的区别

文章目录 I 反射和动态代理的区别1.1 AOP 常见实现技术1.2 在同一个类中调用,异步方法仍然是同步执行的。1.3 代理模式(Proxy Pattern)II 设计模式2.1 分类2.2 面向对象的结构型模式I 反射和动态代理的区别 反射是只读 动态代理可以修改 动态代理的应用场景:过滤器是基于…

【Redisson分布式锁】Redisson可重入锁加锁源码分析

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

python基础教程十 再谈抽象

文章预览&#xff1a; 章节前导1. 对象魔法1.1 多态1.1.1 多态和方法 1.2 封装1.3 继承 2. 类2.1 类到底是什么2.2 创建自定义类2.3 属性&#xff0c;函数&#xff0c;方法2.3再谈隐藏 章节前导 在前几章学习了python的内置的主要对象类型&#xff08;数&#xff0c;字符串&am…

3. JavaScript 之预编译

JavaScript 之预编译 前言 在学习 JavaScript 预编译之前&#xff0c;先了解一下 JavaScript 从编译到执行的过程&#xff0c;大致可分为四步&#xff1a; 词法分析语法分析&#xff1a;检查代码是否存在错误&#xff0c;若有错误&#xff0c;引擎会抛出语法错误。同时会构建…

华为OD机试“HJ2计算某字符出现次数”不区分大小写Java编程解答

描述 写出一个程序&#xff0c;接受一个由字母、数字和空格组成的字符串&#xff0c;和一个字符&#xff0c;然后输出输入字符串中该字符的出现次数。&#xff08;不区分大小写字母&#xff09; 数据范围&#xff1a; 1≤n≤1000 输入描述&#xff1a; 第一行输入一个由字…

ARM 架构下国密算法库

目录 前言GmSSL编译环境准备下载 GmSSL 源码编译 GmSSL 源码SM4 对称加密算法SM2 非对称加密算法小结前言 在当前的国际形式下,国替势不可挡。操作系统上,银河麒麟、统信 UOS、鸿蒙 OS 等国产系统开始发力,而 CPU 市场,也是百花齐放,有 龙芯(LoongArch架构)、兆芯(X86…

【代码随想录算法训练营Day34】860.柠檬水找零;406.根据身高重建队列;452.用最少数量的箭引爆气球

❇️Day 34 第八章 贪心算法 part04 ✴️今日任务 860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球 ❇️860.柠檬水找零 本题看上好像挺难&#xff0c;其实挺简单的&#xff0c;大家先尝试自己做一做。题目链接&#xff1a;https://leetcode.cn/problems/lem…

对作用域链和原型链的理解

作用域链和原型链是JavaScript中两个核心概念&#xff0c;它们分别决定了变量的访问范围和对象之间的继承关系。 一、作用域链 1.定义 作用域链是指JavaScript在执行过程中创建的可执行上下文的链式结构。每个函数在执行时都会创建一个可执行上下文&#xff0c;其中包含了对外…