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请求
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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请求 工具用
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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的地址
|
/// <summary>
|
/// 获得webapi的地址 不包括后面的控制器等
|
/// </summary>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求 工具用
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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请求 工具用
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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的地址
|
/// <summary>
|
/// 获得webapi的地址 不包括后面的控制器等
|
/// </summary>
|
/// <returns></returns>
|
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
|
/// <summary>
|
/// wms 同步post
|
/// </summary>
|
/// <param name="requestUri"></param>
|
/// <param name="paramObj"></param>
|
/// <returns></returns>
|
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;
|
}
|
}
|
|
/// <summary>
|
/// wms 同步post 工具用
|
/// </summary>
|
/// <param name="requestUri"></param>
|
/// <param name="paramObj"></param>
|
/// <returns></returns>
|
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的地址
|
/// <summary>
|
/// 获得webapi的地址 不包括后面的控制器等
|
/// </summary>
|
/// <returns></returns>
|
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的地址
|
/// <summary>
|
/// 获得webapi的地址 不包括后面的控制器等
|
/// </summary>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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对接地址
|
/// <summary>
|
/// 获得webapi的地址 不包括后面的控制器等
|
/// </summary>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// Http GET
|
/// </summary>
|
/// <param name="paramStr"></param>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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地址
|
/// <summary>
|
/// 获取ams地址
|
/// </summary>
|
/// <returns></returns>
|
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地址
|
/// <summary>
|
/// 获取ams地址
|
/// </summary>
|
/// <returns></returns>
|
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请求
|
/// <summary>
|
/// HttpPost请求
|
/// </summary>
|
/// <param name="url"></param>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
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地址
|
/// <summary>
|
/// 获取ams地址
|
/// </summary>
|
/// <returns></returns>
|
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
|
}
|
}
|