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