From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 03 十二月 2020 15:35:42 +0800 Subject: [PATCH] 2020-12-03-1 --- HDL_ON/DAL/Server/HttpUtil.cs | 207 ++++++++++++++------------------------------------- 1 files changed, 57 insertions(+), 150 deletions(-) diff --git a/HDL_ON/DAL/Server/HttpUtil.cs b/HDL_ON/DAL/Server/HttpUtil.cs index 1deb23f..5e52242 100644 --- a/HDL_ON/DAL/Server/HttpUtil.cs +++ b/HDL_ON/DAL/Server/HttpUtil.cs @@ -4,6 +4,7 @@ using System.Net; using System.Security.Cryptography; using System.Text; +using HDL_ON.Entity; using RestSharp; using Shared; @@ -11,11 +12,8 @@ { public class HttpUtil { + #region HttpUtil 鍏ㄥ眬甯搁噺 - /// <summary> - /// 璇锋眰鎴愬姛鐨勭姸鎬佺爜 - /// </summary> - public const string SUCCESS_CODE = "0"; ///// <summary> ///// API_HTTPS ///// </summary> @@ -87,6 +85,27 @@ /// <summary> /// POST璇锋眰鏂规硶 body鍙傛暟 + /// 閽堝浣忓畢鐩稿叧鎺ュ彛灏佽 + /// 璋冪敤浣忓畢褰撳墠鎵�鍦ㄥ尯鍩熷煙鍚� + /// 濡傛灉鏄垎浜綇瀹咃紝浣跨敤涓讳汉鐨則oken杩涜鐩稿叧鎿嶄綔 + /// </summary> + /// <param name="apiPath"></param> + /// <param name="bodyParameterJson"></param> + /// <param name="mTimeout"></param> + /// <returns></returns> + public static ResponsePackNew RequestHttpsPostFroHome(string apiPath, string bodyParameterJson, int mTimeout = 10) + { + string urlHead = DB_ResidenceData.residenceData.residecenInfo.regionUrl; + //var replaceToken = ""; + //if (DB_ResidenceData.residenceData.residecenInfo.IsOthreShare) + //{ + // replaceToken = DB_ResidenceData.residenceData.MasterToken; + //} + return RequestHttps(Method.POST, apiPath, bodyParameterJson, null, null, urlHead, "", mTimeout); + } + + /// <summary> + /// POST璇锋眰鏂规硶 body鍙傛暟 /// </summary> /// <param name="apiPath"></param> /// <param name="bodyParameterJson"></param> @@ -133,8 +152,9 @@ try { - //if (string.IsNullOrEmpty (urlHead)) { - // urlHead = APIInfoConfig.Current.RequestHttpsHost; + //if (string.IsNullOrEmpty(urlHead)) + //{ + // urlHead = UserInfo.Current.RequestHttpsHost; //} //string requestFullUrl = urlHead + apiPath; @@ -152,9 +172,9 @@ if (string.IsNullOrEmpty(replaceToken)) { - if (MainPage.LoginUser != null) + if(UserInfo.Current != null) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ - request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); + request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); } } else @@ -188,6 +208,7 @@ { try { + ResponsePackNew revertObj = new ResponsePackNew() { }; revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject<ResponsePackNew>(response.Content); //*****涓�浜涘垽绌哄鐞�***************** @@ -208,20 +229,20 @@ } catch (Exception ex) { - HDL_ON.Common.Utlis.WriteLine(ex.Message); + HDL_ON.Utlis.WriteLine(ex.Message); return new ResponsePackNew() { Code = "DATA_EXCEPTION" }; } } else { - HDL_ON.Common.Utlis.WriteLine(response.Content); + HDL_ON.Utlis.WriteLine(response.Content); return new ResponsePackNew() { Code = "NETWORK_ERROR" }; } } catch (Exception ex) { - HDL_ON.Common.Utlis.WriteLine(ex.Message); + HDL_ON.Utlis.WriteLine(ex.Message); return new ResponsePackNew() { Code = "NETWORK_ERROR" }; } @@ -245,7 +266,7 @@ try { //if (string.IsNullOrEmpty (urlHead)) { - // urlHead = APIInfoConfig.Current.RequestHttpsHost; + // urlHead = UserInfo.Current.RequestHttpsHost; //} //string requestFullUrl = urlHead + apiPath; @@ -261,9 +282,9 @@ if (string.IsNullOrEmpty(replaceToken)) { - if (MainPage.LoginUser != null) + if ( UserInfo.Current != null) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ - request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); + request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); } } else @@ -289,7 +310,7 @@ } catch (Exception ex) { - HDL_ON.Common.Utlis.WriteLine(ex.Message); + HDL_ON.Utlis.WriteLine(ex.Message); return null; } #endregion @@ -315,7 +336,7 @@ { //if (string.IsNullOrEmpty (urlHead)) { - // urlHead = APIInfoConfig.Current.RequestHttpsHost; + // urlHead = UserInfo.Current.RequestHttpsHost; //} //string requestFullUrl = urlHead + apiPath; @@ -332,9 +353,9 @@ if (string.IsNullOrEmpty(replaceToken)) { - if (MainPage.LoginUser != null) + if ( UserInfo.Current != null) {/* 濡傛灉涓嶉渶瑕侀獙璇乀oken鍙互涓嶇敤浼犲叆 */ - request.AddHeader("Authorization", MainPage.LoginUser.loginTokenString); + request.AddHeader("Authorization", UserInfo.Current.LoginTokenString); } } else @@ -380,20 +401,20 @@ } catch (Exception ex) { - HDL_ON.Common.Utlis.WriteLine(ex.Message); + HDL_ON.Utlis.WriteLine(ex.Message); return new ResponsePackNew() { Code = "DATA_EXCEPTION" }; } } else { - HDL_ON.Common.Utlis.WriteLine(response.Content); + HDL_ON.Utlis.WriteLine(response.Content); return new ResponsePackNew() { Code = "NETWORK_ERROR" }; } } catch (Exception ex) { - HDL_ON.Common.Utlis.WriteLine(ex.Message); + HDL_ON.Utlis.WriteLine(ex.Message); return new ResponsePackNew() { Code = "NETWORK_ERROR" }; } @@ -459,11 +480,25 @@ string str = string.Empty; foreach (KeyValuePair<string, object> item in paramDictionary) { + //Value涓簄ull涓嶅弬鍔犳牎楠� if (item.Value != null) { - str += item.Key + "=" + item.Value.ToString() + "&"; + //Value.ToString()涓簄ull鎴栬��""涔熶笉鍙傚姞鏍¢獙 + if (!string.IsNullOrEmpty(item.Value.ToString())) + { + //濡傛灉鏄痓ool绫诲瀷锛岃杞皬鍐� + if (item.Value is bool) + { + str += item.Key + "=" + item.Value.ToString().ToLower() + "&"; + } + else + { + str += item.Key + "=" + item.Value.ToString() + "&"; + } + } } } + //2.3 鎷兼帴SECRET_KEY str = str.Substring(0, str.Length - 1) + SECRET_KEY; //2.4 MD5杞崲+杞皬鍐� @@ -520,132 +555,4 @@ -} - -namespace Shared.Securitys -{ - /// <summary> - /// - /// </summary> - public partial class EncryptionService - { - #region 鍔犲瘑 - /// <summary> - /// 鍔犲瘑涓婚涓築ase64 - /// </summary> - /// <param name="pToEncrypt"></param> - /// <param name="key"></param> - /// <returns></returns> - public static string AesEncryptTopic(string pToEncrypt, string key) - { - if (string.IsNullOrEmpty(pToEncrypt)) return null; - if (string.IsNullOrEmpty(key)) return pToEncrypt; - //闇�瑕佸姞瀵嗗唴瀹圭殑鏄庢枃娴� - Byte[] toEncryptArray = Encoding.UTF8.GetBytes(pToEncrypt); - - //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) - RijndaelManaged rm = new RijndaelManaged - { - Key = Encoding.UTF8.GetBytes(key), - IV = Encoding.UTF8.GetBytes(key), - Mode = CipherMode.CBC, - Padding = PaddingMode.PKCS7 - }; - - //鍒涘缓AES鍔犲瘑鍣ㄥ璞� - ICryptoTransform cTransform = rm.CreateEncryptor(); - - //浣跨敤AES灏嗘槑鏂囨祦杞垚瀵嗘枃瀛楄妭鏁扮粍 - Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); - - //灏咥ES鐢熸垚鐨勫瘑鏂囧瓧鑺傛暟缁勮浆鎴怋ase64瀛楃涓� - return Convert.ToBase64String(resultArray, 0, resultArray.Length); - } - - - /// <summary> - /// 鍔犲瘑璐熻浇涓轰簩杩涘埗娴� - /// </summary> - /// <param name="toEncryptArray"></param> - /// <param name="key"></param> - /// <returns></returns> - public static byte[] AesEncryptPayload(byte[] toEncryptArray, string key) - { - if (string.IsNullOrEmpty(key)) return toEncryptArray; - //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) - var rm = new RijndaelManaged - { - Key = Encoding.UTF8.GetBytes(key), - IV = Encoding.UTF8.GetBytes(key), - Mode = CipherMode.CBC, - Padding = PaddingMode.PKCS7 - }; - - //鍒涘缓AES鍔犲瘑鍣ㄥ璞� - var cTransform = rm.CreateEncryptor(); - //浣跨敤AES灏嗘槑鏂囨祦杞垚瀵嗘枃瀛楄妭鏁扮粍 - return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); - } - #endregion - - - #region 瑙e瘑 - /// <summary> - /// 瑙e瘑涓婚鏁版嵁 - /// </summary> - /// <param name="pToDecrypt"></param> - /// <param name="key"></param> - /// <returns></returns> - public static string AesDecryptTopic(string pToDecrypt, string key) - { - //AES瀵嗘枃Base64杞垚瀛楃涓� - Byte[] toEncryptArray = Convert.FromBase64String(pToDecrypt); - - //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) - RijndaelManaged rm = new RijndaelManaged - { - Key = Encoding.UTF8.GetBytes(key), - IV = Encoding.UTF8.GetBytes(key), - Mode = CipherMode.CBC, - Padding = PaddingMode.PKCS7 - }; - - //鍒涘缓AES瑙e瘑鍣ㄥ璞� - ICryptoTransform cTransform = rm.CreateDecryptor(); - - //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁� - Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); - - //杞垚瀛楃涓� - return Encoding.UTF8.GetString(resultArray); - } - - /// <summary> - /// 閲囩敤Aes瑙e瘑璐熻浇鏁版嵁 - /// </summary> - /// <param name="toEncryptArray"></param> - /// <param name="key"></param> - /// <returns></returns> - public static byte[] AesDecryptPayload(byte[] toEncryptArray, string key) - { - //閰嶇疆AES鍔犲瘑Key(瀵嗛挜銆佸悜閲忋�佹ā寮忋�佸~鍏�) - var rm = new RijndaelManaged - { - Key = Encoding.UTF8.GetBytes(key), - IV = Encoding.UTF8.GetBytes(key), - Mode = CipherMode.CBC, - Padding = PaddingMode.PKCS7 - }; - - //鍒涘缓AES瑙e瘑鍣ㄥ璞� - var cTransform = rm.CreateDecryptor(); - - //浣跨敤AES灏嗗瘑鏂囨祦杞垚鏄庢枃鐨勫瓧鑺傛暟缁� - return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); - } - #endregion - - - - } } -- Gitblit v1.8.0