| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- using Confluent.Kafka;
- using IvfTl.Control.Entity.GlobalEnums;
- using IvfTl.Control.Services.HttpServices;
- using Microsoft.IdentityModel.Logging;
- using MySqlX.XDevAPI;
- using NetTaste;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Net.Http.Headers;
- using System.Net;
- using System.Security.Principal;
- namespace ivf_tl_ServicesImpl.HttpServices
- {
- public class HttpServiceImplNo
- {
- public event Action<string, LogEnum> ErrorLogEvent;
- public event Action<Exception, string, string, LogEnum> ExceptionLogEvent;
- private string token = null;
- private HttpClient client = null;
- public HttpServiceImplNo(string baseAddress)
- {
- client = new HttpClient()
- {
- BaseAddress = new Uri(baseAddress),
- Timeout = new TimeSpan(0, 0, 10)// 10是秒数,用于设置超时时长
- };
- }
- private void ExLog(Exception ex, string name)
- {
- ExceptionLogEvent?.Invoke(ex, $"HttpServiceImpl.{name}",null, LogEnum.RunException);
- }
- private void ErrorLog(string message, LogEnum logType)
- {
- ErrorLogEvent?.Invoke($"HttpServiceImpl.{message}", logType);
- }
- public string GetToken()
- {
- if(token == null)
- {
- token = "eyJhbGciOiJSUzI1NiJ9.eyJ1c2VyIjoie1wiYWNjb3VudFwiOlwiYWRtaW5cIixcImFsbG93QWNjZXNzTGlzdFwiOltcIi9hcGkvZ2F0ZXdheS9hdXRoL3Blcm1pc3Npb24vc2NhblBlcm1pc3Npb25cIixcIi9hZGRcIixcIi9tYXJrL2xpc3RcIixcIi9wZXJtaXNzaW9uL2dldFBlcm1pc3Npb25CeUlkXCIsXCIvdXNlci9wYWdlbGlzdFwiLFwiL3Blcm1pc3Npb24vZGVsZXRlUGVybWlzc2lvblwiLFwiL2FsYXJtU3lzU2V0dGluZy9kZWxldGVBbGFybVRlbXBsYXRlQnlJZFwiLFwiL3Blcm1pc3Npb24vYXNzaWduZWRQZXJtaXNzaW9uc1wiLFwiL21hcmsvdXBkYXRlXCIsXCIvcm9sZS9nZXRVc2VyQnlSb2xlSWRcIixcIi9yb2xlL2xpc3RcIixcIi9hbGFybS9nZXRBbGFybU51bVwiLFwiL3Rlc3QvdGVzdFwiLFwiL2FsYXJtU3lzU2V0dGluZy9nZXRBbGFybVR5cGVMaXN0XCIsXCIvYWxhcm1TZXR0aW5nL2RlbGV0ZUFsYXJtUGVyc29ubmVsXCIsXCIvcm9sZS9nZXRQZXJtaXNzaW9uQnlSb2xlSWRcIixcIi9sb2dvdXRcIixcIi9wZXJtaXNzaW9uL3BhZ2VsaXN0XCIsXCIvYWxhcm1TZXR0aW5nL3VwZGF0ZUFsYXJtUGVyc29ubmVsXCIsXCIvYWxhcm1TeXNTZXR0aW5nL3VwZGF0ZUFsYXJtVGVtcGxhdGVcIixcIi9hbGFybVNldHRpbmcvZ2V0VHlwZUFuZFRlbXBsYXRlTGlzdFwiLFwiL3JvbGUvdXBkYXRlXCIsXCIvYWxhcm0vZ2V0QWxhcm1cIixcIi9yb2xlL3BhZ2VsaXN0XCIsXCIvZ2F0ZXdheS9zY2FuUGVybWlzc2lvbi9nZXRJbml0UGVybWlzc2lvbkluZm9cIixcIi9wZXJtaXNzaW9uL2dldFVuYXNzaWduZWRQZXJtaXNzaW9uc1wiLFwiL2FsYXJtU3lzU2V0dGluZy9nZXRBbGFybVRlbXBsYXRlQnlJZFwiLFwiL3Blcm1pc3Npb24vZ2V0QWxsUGVybWlzc2lvblR5cGVcIixcIi9sb2dpblwiLFwiL3JvbGUvZGVsZXRlUm9sZVwiLFwiL2FsYXJtU2V0dGluZy9nZXRBbGFybVBlcnNvbm5lbGxpc3RcIixcIi9wZXJtaXNzaW9uL3NhdmVcIixcIi9tYXJrL2lkXCIsXCIvdXNlci91cGRhdGVcIixcIi9hbGFybVNldHRpbmcvZ2V0VHlwZUFuZFRlbXBsYXRlQnlJZFwiLFwiL3Blcm1pc3Npb24vdXBkYXRlXCIsXCIvdXNlci9zYXZlXCIsXCIvYWxhcm1TeXNTZXR0aW5nL3VwZGF0ZVwiLFwiL3VzZXIvZGVsZXRlVXNlclwiLFwiL2FsYXJtU3lzU2V0dGluZy9nZXRBbGFybVR5cGVQYWdlTGlzdFwiLFwiL2FsYXJtU2V0dGluZy9hZGRBbGFybVBlcnNvbm5lbFwiLFwiL2FsYXJtU2V0dGluZy91cGRhdGVQZXJzb25uZWxQZXJtaXNzaW9uXCIsXCIvY29udHJvbC9zY2FuUGVybWlzc2lvbi9nZXRJbml0UGVybWlzc2lvbkluZm9cIixcIi9hbGFybVN5c1NldHRpbmcvZ2V0QWxhcm1UZW1wbGF0ZVBhZ2VMaXN0XCIsXCIvcGVybWlzc2lvbi9nZXRBbGxBc3NpZ25lZFwiLFwiL3Rlc3QvNy03XCIsXCIvcm9sZS9zYXZlXCIsXCIvYWxhcm1TeXNTZXR0aW5nL3NhdmVBbGFybVRlbXBsYXRlXCIsXCIvdXBkYXRlXCIsXCIvdXNlci9yZXNldFBhc3N3b3JkXCIsXCIvc2NhblBlcm1pc3Npb24vZ2V0SW5pdFBlcm1pc3Npb25JbmZvXCIsXCIvYWxhcm1TeXNTZXR0aW5nL2RlbGV0ZUFsYXJtVHlwZVwiLFwiL3VzZXIvdXBkYXRlUGFzc3dvcmRcIixcIi9yb2xlL2Fzc2lnbkF1dGhvcml0eVwiLFwiL2FsYXJtU3lzU2V0dGluZy9zYXZlXCJdLFwidXNlcm5hbWVcIjpcImFkbWluXCJ9IiwianRpIjoiTVdaak9XUXpPRGd0WVRKa09DMDBaamszTFRsak1tVXRZakE1TmpVNVptWXpNRGszIn0.WsjkouFpFfAGzYQ07vPbZwiOU462NprPe_5ITpMHnCpjqJAfcUkiKBddgm86XvjGESmcaZKE_hWKaMPIIIRxngOtJ-wlV1cGs9T1jjgWHMj9BfD0zbmKCYvTo7ZtQlkNFoZ5Ac_vj1BT2f7RVFuwENZeVakdfNcCykPXl1AaiVnoqqj_6tX6neJpDQxz1tKgqkXf3X-QBhRN8s_uY0UGSTgzK4gaKhn-Mk4lu18liBwkQ4RUSmJE8uhP9k4yd1z8RY_zm2eed5HgnppZA_zpz2ost1mblaDLf924cgKp-NGPctbTkKQpghC894sidjhyvY85oSzOq5yV1fdMVJSPuQ";
- }
- return token;
- }
- public string callWebService(string url)
- {
- string name = "callWebService";
- try
- {
- if (string.IsNullOrEmpty(GetToken())) return null;
- if (client.DefaultRequestHeaders.Contains("token"))
- {
- client.DefaultRequestHeaders.Remove("token");
- }
- client.DefaultRequestHeaders.Add("token", token);
- //访问记录
- ErrorLogEvent?.Invoke($"[url:{url}]", LogEnum.HttpClient);
- HttpContent httpContent = new StringContent("");
- httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
- httpContent.Headers.ContentType.CharSet = "utf-8";
- HttpResponseMessage responseMessage = client.PostAsync(url, httpContent).Result;
- string rsString = null;
- if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK)
- {
- rsString = responseMessage.Content.ReadAsStringAsync().Result;
- //返回记录
- ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- }
- else
- {
- ErrorLog($"访问服务器失败:[url:{url}]", LogEnum.RunError);
- }
- return rsString;
- }
- catch (Exception ex)
- {
- ExLog(ex, $"callWebService:{url}");
- return null;
- }
- }
- public string callWebService(string url, string body)
- {
- string name = "callWebService";
- try
- {
- if (string.IsNullOrEmpty(GetToken())) return null;
- if (client.DefaultRequestHeaders.Contains("token"))
- {
- client.DefaultRequestHeaders.Remove("token");
- }
- client.DefaultRequestHeaders.Add("token", token);
- //访问记录
- ErrorLogEvent?.Invoke($"[url:{url}][参数:{body}]", LogEnum.HttpClient);
- HttpContent httpContent = new StringContent(body);
- httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
- httpContent.Headers.ContentType.CharSet = "utf-8";
- HttpResponseMessage responseMessage = client.PostAsync(url, httpContent).Result;
- string rsString = null;
- if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK)
- {
- rsString = responseMessage.Content.ReadAsStringAsync().Result;
- //返回记录
- ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- }
- else
- {
- ErrorLog($"访问服务器失败:[url:{url}][参数:{body}]", LogEnum.RunError);
- }
- return rsString;
- }
- catch (Exception ex)
- {
- ExLog(ex, $"callWebService:[url:{url}][body:{body}]");
- return null;
- }
- }
- public string callWebService(string url, Dictionary<string, string> body)
- {
- string name = "callWebService";
- try
- {
- if (string.IsNullOrEmpty(GetToken())) return null;
- if (client.DefaultRequestHeaders.Contains("token"))
- {
- client.DefaultRequestHeaders.Remove("token");
- }
- client.DefaultRequestHeaders.Add("token", token);
- //访问记录
- ErrorLogEvent?.Invoke($"[url:{url}][参数:{JsonConvert.SerializeObject(body)}]", LogEnum.HttpClient);
- var responseMessage = client.PostAsync(url, new FormUrlEncodedContent(body)).Result;
- string rsString = null;
- if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK)
- {
- rsString = responseMessage.Content.ReadAsStringAsync().Result;
- //返回记录
- ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- }
- else
- {
- ErrorLog($"访问服务器失败:[url:{url}][body:{JsonConvert.SerializeObject(body)}]", LogEnum.RunError);
- }
- return rsString;
- }
- catch (Exception ex)
- {
- ExLog(ex, $"callWebService:[url:{url}][body:{JsonConvert.SerializeObject(body)}]");
- return null;
- }
- }
- public string callWebServiceNoToken(string url, string body)
- {
- string name = "callWebService";
- try
- {
- if (client.DefaultRequestHeaders.Contains("token"))
- {
- client.DefaultRequestHeaders.Remove("token");
- }
- //访问记录
- ErrorLogEvent?.Invoke($"[url:{url}][参数:{body}]", LogEnum.HttpClient);
- HttpContent httpContent = new StringContent(body);
- httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
- httpContent.Headers.ContentType.CharSet = "utf-8";
- HttpResponseMessage responseMessage = client.PostAsync(url, httpContent).Result;
- string rsString = null;
- if (responseMessage.StatusCode == System.Net.HttpStatusCode.OK)
- {
- rsString = responseMessage.Content.ReadAsStringAsync().Result;
- //返回记录
- ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- }
- else
- {
- ErrorLog($"访问服务器失败:[url:{url}][body:{body}]", LogEnum.RunError);
- }
- return rsString;
- }
- catch (Exception ex)
- {
- ExLog(ex, $"callWebService:[url:{url}][body:{body}]");
- return null;
- }
- }
- //public string GetMethod(string url, string Token)
- //{
- // try
- // {
- // string rsString = null;
- // using (HttpClient client = new HttpClient())
- // {
- // try
- // {
- // ErrorLogEvent?.Invoke($"[url:{url}]", LogEnum.HttpClient);
- // client.Timeout = new TimeSpan(0, 0, 10); // 10是秒数,用于设置超时时长
- // client.DefaultRequestHeaders.Add("token", Token);
- // //client.DefaultRequestHeaders.Connection.Add("keep-alive");
- // HttpResponseMessage res = client.GetAsync(url).GetAwaiter().GetResult();
- // if (res.StatusCode == System.Net.HttpStatusCode.OK)
- // {
- // rsString = res.Content.ReadAsStringAsync().Result;
- // ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- // }
- // else
- // {
- // ErrorLogEvent?.Invoke($"GetMethod访问服务器连接失败{res.StatusCode}:{url}", LogEnum.RunError);
- // }
- // }
- // catch (Exception ex)
- // {
- // ExceptionLogEvent?.Invoke(ex, "GetMethod调用using", null, LogEnum.RunException);
- // }
- // finally
- // {
- // client.Dispose();
- // }
- // }
- // return rsString;
- // }
- // catch (Exception ex1)
- // {
- // ExceptionLogEvent?.Invoke(ex1, "GetMethod调用", null, LogEnum.RunException);
- // return null;
- // }
- //}
- //public string PostMethod(string url, string body, string Token)
- //{
- // try
- // {
- // string rsString = null;
- // using (HttpClient client = new HttpClient())
- // {
- // try
- // {
- // ErrorLogEvent?.Invoke($"[url:{url}][body:{body}]", LogEnum.HttpClient);
- // HttpContent content = new StringContent(body);
- // content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
- // client.Timeout = new TimeSpan(0, 0, 10); // 10是秒数,用于设置超时时长
- // client.DefaultRequestHeaders.Add("token", Token);
- // //client.DefaultRequestHeaders.Connection.Add("keep-alive");
- // HttpResponseMessage res = client.PostAsync(url, content).GetAwaiter().GetResult();
- // if (res.StatusCode == System.Net.HttpStatusCode.OK)
- // {
- // rsString = res.Content.ReadAsStringAsync().Result;
- // ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- // }
- // else
- // {
- // ErrorLogEvent?.Invoke($"PostMethod访问服务器连接失败{res.StatusCode}:{body}", LogEnum.RunError);
- // }
- // }
- // catch (Exception ex)
- // {
- // ExceptionLogEvent?.Invoke(ex, "PostMethod调用using", null, LogEnum.RunException);
- // }
- // finally
- // {
- // client.Dispose();
- // }
- // }
- // return rsString;
- // }
- // catch (Exception ex1)
- // {
- // ExceptionLogEvent?.Invoke(ex1, "PostMethod调用", null, LogEnum.RunException);
- // return null;
- // }
- //}
- //public string PostMethod(string url, Dictionary<string, string> dic, string Token)
- //{
- // try
- // {
- // string rsString = null;
- // using (HttpClient client = new HttpClient())
- // {
- // ErrorLogEvent?.Invoke($"[url:{url}][dic:{JsonConvert.SerializeObject(dic)}]", LogEnum.HttpClient);
- // client.Timeout = new TimeSpan(0, 0, 10); // 10是秒数,用于设置超时时长
- // client.DefaultRequestHeaders.Add("token", Token);
- // var response = client.PostAsync(url, new FormUrlEncodedContent(dic)).Result;
- // if (response.StatusCode == System.Net.HttpStatusCode.OK)
- // {
- // rsString = response.Content.ReadAsStringAsync().Result;
- // ErrorLogEvent?.Invoke($"返回结果:{rsString}", LogEnum.HttpClient);
- // }
- // else
- // {
- // ErrorLogEvent?.Invoke($"PostMethod访问服务器连接失败{response.StatusCode}:{JsonConvert.SerializeObject(dic)}", LogEnum.RunError);
- // }
- // }
- // return rsString;
- // }
- // catch (Exception ex)
- // {
- // ExceptionLogEvent?.Invoke(ex, "PostMethod调用", null, LogEnum.RunException);
- // return null;
- // }
- //}
- //public string PostMethod1(string url, string body, string Token)
- //{
- // try
- // {
- // string returnString;
- // HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
- // request.Method = "POST";
- // request.ContentType = "application/json; charset=UTF-8";
- // request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + Token);
- // if (string.IsNullOrEmpty(body))
- // {
- // request.ContentLength = 0;
- // }
- // else
- // {
- // byte[] data = Encoding.UTF8.GetBytes(body);
- // request.ContentLength = data.Length;
- // using (Stream reqStream = request.GetRequestStream())
- // {
- // reqStream.Write(data, 0, data.Length);
- // reqStream.Close();
- // }
- // }
- // request.Timeout = 1000 * 5;
- // HttpWebResponse response = request.GetResponse() as HttpWebResponse;
- // if (response.StatusCode != System.Net.HttpStatusCode.OK)
- // {
- // ErrorLogEvent?.Invoke($"访问服务器连接失败{response.StatusCode.ToString()}:{body}", LogEnum.RunError);
- // return null;
- // }
- // string encoding = response.ContentEncoding;
- // if (encoding == null || encoding.Length < 1)
- // {
- // encoding = "UTF-8";
- // }
- // using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding)))
- // {
- // returnString = reader.ReadToEnd();
- // response.Close();
- // }
- // if (string.IsNullOrEmpty(returnString))
- // {
- // return null;
- // }
- // return returnString;
- // }
- // catch (Exception ex)
- // {
- // ExceptionLogEvent?.Invoke(ex, "Post调用", null, LogEnum.RunException);
- // return null;
- // }
- //}
- }
- }
|