using Hanhe.iWCS.Common;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Net;
|
using System.Net.Http;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Hanhe.iWCS.JingmenGEMNorthProtocol
|
{
|
public class WebApiHelper
|
{
|
public string WebPost(string url, string postData,string token = "",string isCookie = "", string cotentType = "application/json") {
|
//Console.WriteLine(url);
|
//CMMLog.Info($"url:{url}");
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "POST";
|
//string postData = JsonConvert.SerializeObject(data);
|
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
request.ContentType = cotentType;
|
request.ContentLength = byteArray.Length;
|
|
if (!string.IsNullOrEmpty(token)) request.Headers.Set("Cookie", token);//MD5加密后Token值
|
|
CMMLog.Debug($"WebPost:URL:{url},SendData:{postData}");
|
//request.Timeout = 5000;
|
request.Timeout = 30000;
|
|
try
|
{
|
Stream dataStream = request.GetRequestStream();
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
dataStream.Close();
|
WebResponse response = request.GetResponse();
|
// "kdservice-sessionid=3ec0afdd-3cc2-4573-ae35-62f1751f6b0e; path=/,ASP.NET_SessionId=eokqkml3mdy0gmfroig5cpr3; path=/; HttpOnly"
|
if (!string.IsNullOrEmpty(isCookie))
|
{
|
ERPService.CooKie = response.Headers.Get("Set-Cookie").Replace("HttpOnly","");
|
Console.WriteLine($"WebPost:URL:{url},GetCookie:{ERPService.CooKie}");
|
CMMLog.Debug($"WebPost:URL:{url},GetCookie:{ERPService.CooKie}");
|
}
|
//CMMLog.Info($"{((HttpWebResponse)response).StatusDescription}");
|
//Console.WriteLine(((HttpWebResponse)response).StatusDescription);
|
|
dataStream = response.GetResponseStream();
|
StreamReader reader = new StreamReader(dataStream, Encoding.UTF8);
|
string responseFromServer = reader.ReadToEnd();
|
reader.Close();
|
dataStream.Close();
|
response.Close();
|
CMMLog.Debug($"WebPost:ResData is {responseFromServer}");
|
return responseFromServer;
|
}
|
catch (Exception e) {
|
CMMLog.Error($"WebPost:调用接口异常:URL:{url},SendData:{postData},ErrorMsg: {e.Message}");
|
return "";
|
}
|
}
|
|
public string WebGet(string url) {
|
//using (var client = new HttpClient()) {
|
// //请求结果
|
// string result = client.GetAsync(url).Result.Content.ReadAsStringAsync().Result;
|
|
// Console.WriteLine(result);
|
// return result;
|
|
//}
|
//Console.WriteLine(url);
|
WebRequest request = WebRequest.Create(url);
|
request.Method = "GET";
|
//CMMLog.Info("url:"+url+"method:"+request.Method);
|
try {
|
WebResponse response = request.GetResponse();
|
Stream dataStream = response.GetResponseStream();
|
StreamReader reader = new StreamReader(dataStream);
|
string responseFromServer = reader.ReadToEnd();
|
|
reader.Close();
|
dataStream.Close();
|
response.Close();
|
Console.WriteLine(responseFromServer);
|
CMMLog.Info($"get res:{responseFromServer}");
|
return responseFromServer;
|
}
|
catch (Exception e) {
|
CMMLog.Error(e.Message, e);
|
return "";
|
}
|
}
|
}
|
}
|