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 ""; } } } }