ams
cjs
2025-05-28 6db5849413c86ac0f75ec90a6eca2889372774ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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.TaizhouGEMTwoProtocol
{
    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 "";
            }
        }
    }
}