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/";
///
/// 请求服务器方法
///
/// The https.
/// 请求方法.
/// 请求的参数.
/// 是否需要包头.
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(responseString);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return revertObj;
#endregion
}
}
}