using HH.WMS.Entitys; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace HH.WMS.Common { public class WebApiManager { #region AutoBom_HttpGet请求 /// /// Http GET /// /// /// public static string HttpAutoBom_Get(string apiPath, string paramStr = "") { string webUrl = GetAutoBomAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是长连接 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } myStreamReader.Close(); myResponseStream.Close(); return retString; } #endregion #region AutoBom_HttpPost请求 /// /// HttpPost请求 /// /// /// /// public static string HttpAutoBom_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetAutoBomAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 100000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region HttpAutoBomTool_Post请求 工具用 /// /// HttpPost请求 /// /// /// /// public static string HttpAutoBomTool_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetAutoBomToolAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 1000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region WMS #region 获得WebApi的地址 /// /// 获得webapi的地址 不包括后面的控制器等 /// /// public static string GetWMSAddress() { //获得配置文件中ERP的IP和端口 string wmsAddress = Constants.SysConfig.WMS_API;// System.Configuration.ConfigurationManager.AppSettings["wms_ipAddress"].ToString(); string url = "http://" + wmsAddress + "/"; return url; } #endregion #region WMS_HttpGet请求 /// /// Http GET /// /// /// public static string HttpWMS_Get(string apiPath, string paramStr = "") { string webUrl = "http://" + Constants.SysConfig.WMS_API + "/" + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是常连接 string retString = ""; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } myStreamReader.Close(); myResponseStream.Close(); if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } return retString; } catch (Exception ex) { return JsonConvert.SerializeObject(OperateResult.Error(ex.Message)); } } #endregion #region WMS_HttpGet请求 工具用 /// /// Http GET /// /// /// public static string HttpWMSTool_Get(string apiPath, string paramStr = "") { string webUrl = GetWmsToolAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是常连接 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } myStreamReader.Close(); myResponseStream.Close(); if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } return retString; } #endregion #region WMS_HttpPost请求 /// /// HttpPost请求 /// /// /// /// private static string HttpWMS_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetWMSAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 1000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region WMS_HttpPost请求 工具用 /// /// HttpPost请求 /// /// /// /// public static string HttpWMSTool_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetWmsToolAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 1000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region 获得WMS WebApi的地址 /// /// 获得webapi的地址 不包括后面的控制器等 /// /// public static string GetWmsToolAddress() { //获得配置文件中ERP的IP和端口 string wms_ipAddress = System.Configuration.ConfigurationManager.AppSettings["wms_ipAddress"].ToString(); string url = "http://" + wms_ipAddress + "/"; return url; } #endregion #region wms 同步post /// /// wms 同步post /// /// /// /// public static string HttpWMS_Post(string requestUri, object paramObj) { try { var client = new System.Net.Http.HttpClient { BaseAddress = new Uri(GetWMSAddress()) }; var jsonPara = paramObj != null ? JsonConvert.SerializeObject(paramObj) : string.Empty; System.Net.Http.HttpContent httpContent = new System.Net.Http.StringContent(jsonPara); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var result = client.PostAsync(requestUri, httpContent); return result.Result.Content.ReadAsStringAsync().Result; } catch (Exception ex) { return ex.Message; } } /// /// wms 同步post 工具用 /// /// /// /// public static string HttpWMSTool_Post(string requestUri, object paramObj) { try { var client = new System.Net.Http.HttpClient { BaseAddress = new Uri(GetWmsToolAddress()) }; var jsonPara = paramObj != null ? JsonConvert.SerializeObject(paramObj) : string.Empty; System.Net.Http.HttpContent httpContent = new System.Net.Http.StringContent(jsonPara); httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var result = client.PostAsync(requestUri, httpContent); return result.Result.Content.ReadAsStringAsync().Result; } catch (Exception ex) { return ex.Message; } } #endregion #endregion #region 获得AutoBom WebApi的地址 /// /// 获得webapi的地址 不包括后面的控制器等 /// /// public static string GetAutoBomAddress() { //获得配置文件中ERP的IP和端口 //string autoBomAddress = Util.ToString(System.Configuration.ConfigurationManager.AppSettings["autobom_ipAddress"]); string url = "http://" + Constants.SysConfig.AUTOBOM + "/"; //string url = "http://" + autoBomAddress + "/"; return url; } #endregion #region 获得AutoBom WebApi的地址 /// /// 获得webapi的地址 不包括后面的控制器等 /// /// public static string GetAutoBomToolAddress() { //获得配置文件中ERP的IP和端口 string autoBomAddress = System.Configuration.ConfigurationManager.AppSettings["autobom_ipAddress"].ToString(); // string autoBomAddress = Constants.Configs.Find(x => x.Use.Equals("Y")).AutobomIp; string url = "http://" + autoBomAddress + "/"; return url; } #endregion #region Oms接口请求 public static string HttpOms_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetOmsAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 1000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } public static string HttpOms_Get(string apiPath, string paramStr = "") { string webUrl = GetOmsAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } myStreamReader.Close(); myResponseStream.Close(); if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } return retString; } #region 获得Oms WebApi的地址 public static string GetOmsAddress() { //string K3Address = System.Configuration.ConfigurationManager.AppSettings["K3_ipAddress"].ToString(); string url = "http://" + Constants.SysConfig.OMS_API + "/"; return url; } #endregion #endregion #region K3_HttpGet请求 /// /// Http GET /// /// /// public static string HttpK3_Get(string apiPath, string paramStr = "") { string webUrl = GetK3Address() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是常连接 string retString = ""; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } myStreamReader.Close(); myResponseStream.Close(); if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } return retString; } catch (Exception ex) { return ""; } } #endregion #region K3_HttpPost请求 /// /// HttpPost请求 /// /// /// /// public static string HttpK3_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetK3Address() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 1000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region 获得K3对接地址 /// /// 获得webapi的地址 不包括后面的控制器等 /// /// public static string GetK3Address() { //获得配置文件中K3的IP和端口 //string K3Address = System.Configuration.ConfigurationManager.AppSettings["K3_ipAddress"].ToString(); string url = "http://" + Constants.SysConfig.KdEReqURL + "/"; return url; } #endregion #region Ams_HttpGet请求 /// /// Http GET /// /// /// public static string HttpAms_Get(string apiPath, string paramStr = "") { string webUrl = GetAmsAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是长连接 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } myStreamReader.Close(); myResponseStream.Close(); return retString; } #endregion #region Ams_HttpPost请求 /// /// HttpPost请求 /// /// /// /// public static string HttpAms_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetAmsAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 100000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region Mes_HttpGet请求 /// /// Http GET /// /// /// public static string HttpMes_Get(string apiPath, string paramStr = "") { string webUrl = GetMesAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是长连接 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } myStreamReader.Close(); myResponseStream.Close(); return retString; } /// /// Http GET /// /// /// public static string HttpMes_Auth_Get(string apiPath, string paramStr = "") { string webUrl = GetMesAddress() + apiPath; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; CookieContainer myContainer = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是长连接 request.Credentials = new NetworkCredential("tzmes", "Longi@123"); request.CookieContainer = myContainer; request.PreAuthenticate = true; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } myStreamReader.Close(); myResponseStream.Close(); return retString; } #endregion #region Mes_HttpPost请求 /// /// HttpPost请求 /// /// /// /// public static string HttpMes_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetMesAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 100000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region 获取ams地址 /// /// 获取ams地址 /// /// private static string GetAmsAddress() { //获得配置文件中K3的IP和端口 string amsAddress = Util.ToString(System.Configuration.ConfigurationManager.AppSettings["ams_ipAddress"]); string url = "http://" + amsAddress + "/"; return url; } #endregion #region 获取mes地址 /// /// 获取ams地址 /// /// private static string GetMesAddress() { //获得配置文件中K3的IP和端口 string amsAddress = Util.ToString(System.Configuration.ConfigurationManager.AppSettings["mes_ipAddress"]); string url = "http://" + amsAddress + "/"; return url; } #endregion #region Tms_HttpPost请求 /// /// HttpPost请求 /// /// /// /// public static string HttpTms_Post(string apiPath, string data) { string returnStr = ""; try { string url = GetTmsAddress() + apiPath; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 100000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } } catch { returnStr = ""; } return returnStr; } #endregion #region 获取Tms地址 /// /// 获取ams地址 /// /// private static string GetTmsAddress() { //获得配置文件中K3的IP和端口 string tmsAddress = Util.ToString(System.Configuration.ConfigurationManager.AppSettings["tms_ipAddress"]); string url = "http://" + tmsAddress + "/"; return url; } #endregion #region Web Request public static string HttpGet(string ipPort, string path, string paramStr = "") { try { string webUrl = "http://" + ipPort; string Data = webUrl + (paramStr == "" ? "" : "?") + paramStr; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Data); request.Method = "GET"; request.ContentType = "application/json"; request.KeepAlive = false;//设置不是长连接 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); if (!string.IsNullOrEmpty(retString)) { retString = retString.Replace("\\", ""); retString = retString.TrimEnd('\"'); retString = retString.TrimStart('\"'); } if (request != null) { request.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (myResponseStream != null) { myResponseStream.Dispose(); myResponseStream.Close(); } if (myStreamReader != null) { myStreamReader.Dispose(); myStreamReader.Close(); } myStreamReader.Close(); myResponseStream.Close(); return retString; } catch (Exception ex) { return ""; } } public static string HttpPost(string ipPort, string path, string data) { string returnStr = ""; try { string url = "http://" + ipPort; //对所有代码产生的垃圾资源进行强制回收-慎用 //System.GC.Collect(); //请求地址获取用户授权信息 WebRequest webRequest = System.Net.WebRequest.Create(url); webRequest.Timeout = 100000000;//设置请求超时时间10秒 HttpWebRequest httpRequest = webRequest as System.Net.HttpWebRequest; httpRequest.Method = "post"; httpRequest.ContentType = "application/json"; httpRequest.KeepAlive = false;//设置不是常连接 System.Text.Encoding encoding = System.Text.Encoding.UTF8; byte[] bytesToPost = encoding.GetBytes(data); httpRequest.ContentLength = bytesToPost.Length; System.IO.Stream requestStream = httpRequest.GetRequestStream(); requestStream.Write(bytesToPost, 0, bytesToPost.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader Reader = new StreamReader(stream, Encoding.UTF8); returnStr = Reader.ReadToEnd(); if (!string.IsNullOrEmpty(returnStr)) { returnStr = returnStr.Replace("\\", ""); returnStr = returnStr.TrimEnd('\"'); returnStr = returnStr.TrimStart('\"'); } if (webRequest != null) { webRequest.Abort(); } if (httpRequest != null) { httpRequest.Abort(); } if (response != null) { response.Dispose(); response.Close(); } if (stream != null) { stream.Dispose(); stream.Close(); } if (Reader != null) { Reader.Dispose(); Reader.Close(); } return returnStr; } catch (Exception ex) { return ""; } } #endregion } }