using Cksoft.Data; using Cksoft.Unity; using DllEapEntity.OFILM; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; namespace DllEapDal.OFILM { public class RabbitMQMonitorDal { /// /// 通过接口获取队列的信息 /// /// /// /// public IEnumerable GetQueueInfo(string ip, ref string errorinfo) { var url = $"http://{ip}:15672/api/queues"; //var paras = new Dictionary(); //paras.Add("page", 1); //paras.Add("page_size", 10000); //paras.Add("pagination", true); //paras.Add("use_regex", false); //var queryString = string.Join("&", paras.Keys.Select(c => $"{c}={paras[c]}")); //url = url + "?" + queryString; HttpClient client = HttpClientFactory.Create(); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", "YWRtaW46YWRtaW4="); client.DefaultRequestHeaders.Add("Host", $"{ip}:15672"); HttpResponseMessage response = client.GetAsync(url).Result; IEnumerable info = null; if (response.IsSuccessStatusCode) { info = JsonConvert.DeserializeObject>(response.Content.ReadAsStringAsync().Result); } return info; } } }