wxr
2019-11-25 29a6e6d747d13fc285c8dd86649417f60613388f
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
using System;
using System.Net;
using System.Text;
 
namespace HDL_ON.DAL.Server
{
    public partial class HttpServerRequest
    {
        public string RequestHttpsHost = "https://developer.hdlcontrol.com/api/";
 
        /// <summary>
        /// 请求服务器方法
        /// </summary>
        /// <returns>The https.</returns>
        /// <param name="methodType">请求方法.</param>
        /// <param name="dataStringJson">请求的参数.</param>
        /// <param name="needHeaders">是否需要包头.</param>
        ResponsePack RequestHttps(string methodType, string dataStringJson, string loginToken)
        {
            ResponsePack revertObj = new ResponsePack() { StateCode = "HDL-ON-Self:NotData" };
 
            var webClient = new WebClient();
            #region
            var urlHead = $"{RequestHttpsHost}";
                //webClient.Headers.Add("CONTENT-TYPE", "application/json");
            string url = urlHead + methodType;
            /* 如果不需要验证Token可以不用传入 */
            if (string.IsNullOrEmpty(loginToken))
            {
                webClient.Headers.Add("Authorization", loginToken);
            }
            byte[] bytes = null;
            try
            {
                bytes = webClient.UploadData(url, Encoding.UTF8.GetBytes(dataStringJson));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                revertObj.StateCode = "HDL-ON-Self:Net_Error";
                revertObj.ErrorInfo_En = "Network anomaly";
                revertObj.ErrorInfo_Zh = "网络异常";
            }
            try
            {
                if (bytes != null)
                {
                    string responseString = Encoding.UTF8.GetString(bytes);
                    if (responseString != null)
                    {
                        revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePack>(responseString);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return revertObj;
            #endregion
        }
 
    }
}