我的公共类库
using System; using System.IO; using System.Net; using System.Security.Cryptography; using System.Text; using System.Web; using CY.CommonLibrary.Common; namespace Lee { public class Common { public static string ServerIPAndPort = System.Configuration.ConfigurationManager.AppSettings["ServerIPAndPort"]; public static string Md5Key = System.Configuration.ConfigurationManager.AppSettings["Md5Key"]; public static string Test_Swich = System.Configuration.ConfigurationManager.AppSettings["Test_Swich"]; //只要不为空,都为测试模式 /// <summary> /// 是否处于测试模式.只要不为空,都为测试模式 /// </summary> /// <returns>布尔值</returns> public static bool Is_测试模式() #region { if (Test_Swich != "") { return true; } return false; } #endregion /// <summary> /// send_发送POST请求 /// </summary> /// <param name="vServerPage"></param> /// <param name="vPostData"></param> /// <returns></returns> public static string send_发送POST请求(string vServerPage, string vPostData) #region { byte[] dataArray = Encoding.UTF8.GetBytes(vPostData); //创建请求 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(vServerPage); request.Method = "POST"; request.ContentLength = dataArray.Length; request.ContentType = "application/x-www-form-urlencoded"; request.Timeout = 5000; //创建输入流 Stream dataStream = null; try { dataStream = request.GetRequestStream(); } catch (Exception) { return null;//连接服务器失败 } //发送请求 dataStream.Write(dataArray, 0, dataArray.Length); dataStream.Close(); //读取返回消息 string res = string.Empty; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); res = reader.ReadToEnd(); reader.Close(); } catch (Exception ex) { return null;//连接服务器失败 } return res; } #endregion /// <summary> /// send_发送Get请求 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string send_发送GET请求(string url) #region { string str = ""; HttpWebRequest hwr = WebRequest.Create(url) as HttpWebRequest; hwr.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; hwr.Method = "GET"; hwr.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0"; hwr.ContentType = "application/x-www-form-urlencoded"; hwr.Headers["Accept-Language"] = "zh-cn"; hwr.Timeout = 3000; try { HttpWebResponse _rep = hwr.GetResponse() as HttpWebResponse; Stream _stream = _rep.GetResponseStream(); StreamReader read = new StreamReader(_stream, Encoding.UTF8); str = read.ReadToEnd(); _rep.Close(); } catch (Exception ex) { log.WriteLog("商学院数据获取超时? :" + ex.Message + "请求地址为:" + url); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Write("<style type=\"text/css\">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top, #9ee675, #78cb4c);/* for IE */filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;width:97px;height:97px;font-size:66px;} *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: \"微软雅黑\"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style=\"padding: 24px 48px;\"> <h1 id=\"face\">:(</h1><p>数据超时..</p></div>"); HttpContext.Current.Response.End(); } return str; } #endregion /// <summary> /// 发送一张笑脸 /// </summary> public static void send_smiling_face(string str) #region { HttpContext.Current.Response.Write("<style type=\"text/css\">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top, #9ee675, #78cb4c);/* for IE */filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;width:97px;height:97px;font-size:66px;} *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: \"微软雅黑\"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style=\"padding: 24px 48px;\"> <h1 id=\"face\">:)</h1><p>" + str + "</p></div>"); } #endregion /// <summary> /// 发送一张哭脸 /// </summary> /// <param name="str"></param> public static void send_unhappy_face(string str) #region { HttpContext.Current.Response.Write("<style type=\"text/css\">#face{margin:0px auto;background: #9ee675;/* for Webkit */background: -webkit-gradient(linear, left top, left bottom, from(#9ee675), to(#78cb4c));/* for Firefox */background: -moz-linear-gradient(top, #9ee675, #78cb4c);/* for IE */filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#9ee675',endColorstr='#78cb4c'); color:#fff;border:1px solid #fff;border-radius:200px;text-indent:31px;width:97px;height:97px;font-size:66px;} *{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: \"微软雅黑\"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 3.8em;text-align: center; font-size: 36px }</style><div style=\"padding: 24px 48px;\"> <h1 id=\"face\">:(</h1><p>" + str + "</p></div>"); } #endregion /// <summary> /// 维护中 /// </summary> public static void Send_repair() #region { if (HttpContext.Current.Session["Current_Shop_Id"].ToNotNullString() != "6634") { send_smiling_face("维修中..."); } } #endregion /// <summary> /// 网页弹出框 /// </summary> /// <param name="obj"></param> public static void alert(object obj) #region { HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "')</script>"); } #endregion /// <summary> /// 网页弹出框 /// </summary> /// <param name="obj"></param> public static void alert_back(object obj) #region { HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "');history.back();</script>"); } #endregion /// <summary> /// 网页弹出框 /// </summary> /// <param name="obj"></param> public static void alert_href(object obj, string url) #region { HttpContext.Current.Response.Write("<script language=javascript>alert('" + obj.ToString() + "');window.location.href='" + url + "';</script>"); } #endregion /// <summary> /// 在控制台打印出数据 /// </summary> /// <param name="obj"></param> public static void log_Console(object obj) #region { HttpContext.Current.Response.Write("<script>console.log(\"" + obj + "\")</script>"); } #endregion /// <summary> /// 打印 /// </summary> /// <param name="obj"></param> public static void print(object obj) #region { HttpContext.Current.Response.Write(obj.ToString()); } #endregion /// <summary> /// 输出,不换行,使用完直接结束 /// </summary> /// <param name="obj"></param> public static void echo(object obj) #region { HttpContext.Current.Response.Write(obj.ToString()); } #endregion /// <summary> /// 打印,带换行 /// </summary> /// <param name="obj"></param> public static void println(object obj) #region { HttpContext.Current.Response.Write(obj.ToString() + "<br />"); } #endregion /// <summary> /// 结束网页输出 /// </summary> public static void End() #region { HttpContext.Current.Response.End(); } #endregion /// <summary> /// 清除网页输出 /// </summary> public static void Clear() #region { HttpContext.Current.Response.Clear(); } #endregion /// <summary> /// ASE_128_ECB_无填充_64Base_加密函数 /// </summary> /// <param name="content">要加密的内容</param> /// <param name="key">一定要16位的密钥</param> /// <returns>加密的字符串(字节)</returns> public static byte[] Func_AES128加密(string content, string key) #region { byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(content); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); //返回字节数组,可用Convert.FromBase64String()转换为字节 //return Convert.ToBase64String(resultArray, 0, resultArray.Length); return resultArray; } #endregion /// <summary> /// ASE_128_ECB_无填充_64Base_解密函数 /// </summary> /// <param name="content">密串(字节)</param> /// <param name="keyArray">密钥(字节)</param> /// <returns>解密后的字符串</returns> public static byte[] Func_AES128解密(byte[] content, byte[] keyArray) #region { RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.None; rDel.BlockSize = 128; ICryptoTransform cTransform = rDel.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(content, 0, content.Length); return resultArray; } #endregion } }