zoukankan      html  css  js  c++  java
  • 企业微信机器人

    今天升级了企业微信,发现新增了一个机器人功能,于是好奇的玩了一下。

    目前发现该机器人主要用途是用来发布定时消息,或者发布监控程序报告。

    代码如下:

    1.控制层

    package com.qt.controller;
    
    import com.qt.service.RobotService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    
    @RestController
    @RequestMapping("/index")
    public class RobotController {
        @Autowired
        private RobotService robotService;
        /**
         * 测试企业微信机器人
         * @return  String
         */
        @RequestMapping(value = "/testRobot", method = RequestMethod.GET)
        public String testRobot()  {
            return robotService.testRobot();
        }
    }
    View Code

    2.业务逻辑

    package com.qt.service;
    
    import com.qt.utils.InterfaceUtils;
    import org.springframework.stereotype.Service;
    import com.alibaba.fastjson.JSONObject;
    
    @Service
    public class RobotService {
    
        /**
         * 测试企业微信机器人
         * @return
         */
        public String testRobot(){
            String result;
            JSONObject text = new JSONObject();
            text.put("content", "hello world!");
            JSONObject msg = new JSONObject();
            msg.put("msgtype", "text");
            msg.put("text", text);
            String url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=4e2f766b-419a-4767-ad3d-d3dae461f11a";
            result = InterfaceUtils.sendPost(url,msg.toJSONString(),"");
            return result;
        }
    
    }
    

     3.工具类

    package com.qt.utils;
    
    
    import org.apache.http.HttpHost;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.conn.params.ConnRoutePNames;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicHeader;
    import org.apache.http.protocol.HTTP;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    public class InterfaceUtils {
    
        public static String sendPost(String url, String data,String contentType){
            String result = "";
    
            contentType = "application/json";
            try {
                org.apache.http.client.HttpClient client = new DefaultHttpClient();
    
                //设置代理
                //HttpHost proxy = new HttpHost("192.168.0.0", 8080, "http");
                //client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    
                HttpPost post = new HttpPost(url);
                post.setHeader("Content-Type", contentType);
                post.addHeader("Authorization", "Basic YWRtaW46");
    
                StringEntity s = new StringEntity(data, "utf-8");
                s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,contentType));
                post.setEntity(s);
    
                // 发送请求
                HttpResponse httpResponse = client.execute(post);
    
                // 获取响应输入流
                InputStream inStream = httpResponse.getEntity().getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "utf-8"));
                StringBuilder strber = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null){
                    strber.append(line + "
    ");
                }
                inStream.close();
    
                result = strber.toString();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return result;
        }
    }
    View Code

    然而很不幸,才玩了没一会,管理员就把它关闭了。。。

  • 相关阅读:
    BZOJ 1051: [HAOI2006]受欢迎的牛( tarjan )
    BZOJ 2208: [Jsoi2010]连通数( DFS )
    js效果-鼠标提示框
    CSS-背景
    CSS-文本
    tomcat 安装 for Mac
    CSS选择器基础
    POJ3349-Snowflake Snow Snowflakes-Hash
    数据库的三大设计范式
    HDU5120-Intersection-两个圆环相交面积
  • 原文地址:https://www.cnblogs.com/stuhjf/p/11127795.html
Copyright © 2011-2022 走看看