| | |
| | | { |
| | | public class HttpUtil |
| | | { |
| | | static HttpUtil _HttpUtil; |
| | | public static HttpUtil Ins |
| | | { |
| | | get |
| | | { |
| | | if (_HttpUtil == null) |
| | | { |
| | | _HttpUtil = new HttpUtil(); |
| | | } |
| | | return _HttpUtil; |
| | | } |
| | | } |
| | | |
| | | #region **********全局常量********** |
| | | //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; |
| | | //public const string APP_KEY = "QWERREWQ"; |
| | | //public const string SECRET_KEY = "CPBUCTRLCPBUABCD"; |
| | | |
| | | |
| | | string _GlobalRequestHttpsHost; |
| | | /// <summary> |
| | | /// 固定域名,正式环境 |
| | | /// 公共域名就近解析 |
| | | /// </summary> |
| | | public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; |
| | | //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com"; |
| | | const string APP_KEY = "QWERREWQ"; |
| | | const string SECRET_KEY = "CPBUCTRLCPBUABCD"; |
| | | //const string APP_KEY = "HDL-HOME-APP-TEST"; |
| | | //const string SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; |
| | | public string GlobalRequestHttpsHost |
| | | { |
| | | get |
| | | { |
| | | _GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; |
| | | if (OnAppConfig.Instance.HostType == RequestHostType.ONLINE) |
| | | _GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.TEST) |
| | | _GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.DEV) |
| | | _GlobalRequestHttpsHost = "http://59.41.255.150:7777"; |
| | | return _GlobalRequestHttpsHost; |
| | | } |
| | | } |
| | | string app_key; |
| | | public string APP_KEY |
| | | { |
| | | get |
| | | { |
| | | app_key = "QWERREWQ"; |
| | | if (OnAppConfig.Instance.HostType == RequestHostType.ONLINE) |
| | | app_key = "QWERREWQ"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.TEST) |
| | | app_key = "HDL-HOME-APP-TEST"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.DEV) |
| | | app_key = "CPEVRLRT"; |
| | | return app_key; |
| | | } |
| | | } |
| | | string _SECRET_KEY; |
| | | public string SECRET_KEY |
| | | { |
| | | get |
| | | { |
| | | _SECRET_KEY = "CPBUCTRLCPBUABCD"; |
| | | if (OnAppConfig.Instance.HostType == RequestHostType.ONLINE) |
| | | _SECRET_KEY = "CPBUCTRLCPBUABCD"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.TEST) |
| | | _SECRET_KEY = "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"; |
| | | else if (OnAppConfig.Instance.HostType == RequestHostType.DEV) |
| | | _SECRET_KEY = "CPEVRLSJCPEVRLSZ"; |
| | | return _SECRET_KEY; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | #region HttpWebRequest |
| | | try |
| | | { |
| | | |
| | | if (string.IsNullOrEmpty(urlHead)) |
| | | { |
| | | urlHead = OnAppConfig.Instance.RequestHttpsHost; |
| | | } |
| | | string requestFullUrl = urlHead + apiPath; |
| | | |
| | | |
| | | RestClient client = new RestClient(requestFullUrl); |
| | | |
| | |
| | | { |
| | | request.AddHeader("Authorization", replaceToken); |
| | | } |
| | | |
| | | |
| | | if (bodyParameterJson != null) |
| | | { |
| | |
| | | //2. 计算sign |
| | | if (paramDictionary != null) |
| | | { |
| | | paramDictionary.Add("appKey", APP_KEY); |
| | | paramDictionary.Add("appKey", Ins.APP_KEY); |
| | | paramDictionary.Add("timestamp", GetTimestamp()); |
| | | //2.1 字典升序 |
| | | paramDictionary = paramDictionary.OrderBy(o => o.Key).ToDictionary(o => o.Key, p => p.Value); |
| | |
| | | } |
| | | |
| | | //2.3 拼接SECRET_KEY |
| | | str = str.Substring(0, str.Length - 1) + SECRET_KEY; |
| | | str = str.Substring(0, str.Length - 1) + Ins.SECRET_KEY; |
| | | //2.4 MD5转换+转小写 |
| | | var signstr = SignMD5Encrypt(str); |
| | | paramDictionary.Add("sign", signstr); |