using HH.WMS.Common;
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.DAL.CoreServer
{
class WebApiManager1
{
#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 = 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 = GetWMSAddress() + 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 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请求
///
///
///
///
public 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
#endregion
#region 获得AutoBom WebApi的地址
///
/// 获得webapi的地址 不包括后面的控制器等
///
///
public static string GetAutoBomAddress()
{
//获得配置文件中ERP的IP和端口
string autoBomAddress = System.Configuration.ConfigurationManager.AppSettings["autobom_ipAddress"].ToString();
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 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://" + K3Address + "/";
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 获取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
}
}