package com.fdkankan.mqcontroller.utils; import cn.hutool.core.codec.Base64; import cn.hutool.core.util.CharsetUtil; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONObject; import com.fdkankan.mqcontroller.entity.MqMsg; import lombok.extern.slf4j.Slf4j; import org.apache.catalina.Host; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Slf4j public class RabbitMqUtils { /** * 根据rabbitmq client 获取信息 */ public static MqMsg getRabbitMqMsg(String rabbitMgmtUrl,String vhost, String userName,String password,String queueName) { String url = rabbitMgmtUrl + "/api/queues/" + vhost + "/" + queueName; log.info("getRabbitMqMsg-url:{}",url); // 添加请求头 // 设置认证信息 try { HttpRequest request = HttpRequest.get(url) .header("authorization", "Basic " + Base64.encode((userName + ":" + password).getBytes(CharsetUtil.UTF_8))); // 发送请求,并获取响应字符串 String response = request.execute().body(); log.info("getRabbitMqMsg-resp:{}",response); JSONObject jsonObject = JSONObject.parseObject(response); return JSONObject.toJavaObject(jsonObject,MqMsg.class); }catch (Exception e){ log.info("获取mq信息失败:",e); } return null; } }