ASP.net Reuqest请求常用操作

来源:互联网 发布:群发短信软件电脑版 编辑:程序博客网 时间:2024/06/05 17:08

摘自公司项目的代码

using System;using System.Text;using System.Web;using System.Text.RegularExpressions;namespace DTcms.Common{/// <summary>/// Request操作类/// </summary>public class DTRequest{/// <summary>/// 判断当前页面是否接收到了Post请求/// </summary>/// <returns>是否接收到了Post请求</returns>public static bool IsPost(){return HttpContext.Current.Request.HttpMethod.Equals("POST");}/// <summary>/// 判断当前页面是否接收到了Get请求/// </summary>/// <returns>是否接收到了Get请求</returns>public static bool IsGet(){return HttpContext.Current.Request.HttpMethod.Equals("GET");}/// <summary>/// 返回指定的服务器变量信息/// </summary>/// <param name="strName">服务器变量名</param>/// <returns>服务器变量信息</returns>public static string GetServerString(string strName){if (HttpContext.Current.Request.ServerVariables[strName] == null)return "";            return HttpContext.Current.Request.ServerVariables[strName].ToString();}/// <summary>/// 返回上一个页面的地址/// </summary>/// <returns>上一个页面的地址</returns>public static string GetUrlReferrer(){string retVal = null;    try{retVal = HttpContext.Current.Request.UrlReferrer.ToString();}catch{}if (retVal == null)return "";    return retVal;}/// <summary>/// 得到当前完整主机头/// </summary>/// <returns></returns>public static string GetCurrentFullHost(){HttpRequest request = System.Web.HttpContext.Current.Request;if (!request.Url.IsDefaultPort)return string.Format("{0}:{1}", request.Url.Host, request.Url.Port.ToString());            return request.Url.Host;}/// <summary>/// 得到主机头/// </summary>public static string GetHost(){return HttpContext.Current.Request.Url.Host;}        /// <summary>        /// 得到主机名        /// </summary>        public static string GetDnsSafeHost()        {            return HttpContext.Current.Request.Url.DnsSafeHost;        }/// <summary>/// 获取当前请求的原始 URL(URL 中域信息之后的部分,包括查询字符串(如果存在))/// </summary>/// <returns>原始 URL</returns>public static string GetRawUrl(){return HttpContext.Current.Request.RawUrl;}/// <summary>/// 判断当前访问是否来自浏览器软件/// </summary>/// <returns>当前访问是否来自浏览器软件</returns>public static bool IsBrowserGet(){string[] BrowserName = {"ie", "opera", "netscape", "mozilla", "konqueror", "firefox"};string curBrowser = HttpContext.Current.Request.Browser.Type.ToLower();for (int i = 0; i < BrowserName.Length; i++){if (curBrowser.IndexOf(BrowserName[i]) >= 0)return true;}return false;}/// <summary>/// 判断是否来自搜索引擎链接/// </summary>/// <returns>是否来自搜索引擎链接</returns>public static bool IsSearchEnginesGet(){            if (HttpContext.Current.Request.UrlReferrer == null)                return false;            string[] SearchEngine = {"google", "yahoo", "msn", "baidu", "sogou", "sohu", "sina", "163", "lycos", "tom", "yisou", "iask", "soso", "gougou", "zhongsou"};string tmpReferrer = HttpContext.Current.Request.UrlReferrer.ToString().ToLower();for (int i = 0; i < SearchEngine.Length; i++){if (tmpReferrer.IndexOf(SearchEngine[i]) >= 0)return true;}return false;}/// <summary>/// 获得当前完整Url地址/// </summary>/// <returns>当前完整Url地址</returns>public static string GetUrl(){return HttpContext.Current.Request.Url.ToString();}/// <summary>/// 获得指定Url参数的值/// </summary>/// <param name="strName">Url参数</param>/// <returns>Url参数的值</returns>public static string GetQueryString(string strName){            return GetQueryString(strName, false);}        /// <summary>        /// 获得指定Url参数的值        /// </summary>         /// <param name="strName">Url参数</param>        /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>        /// <returns>Url参数的值</returns>        public static string GetQueryString(string strName, bool sqlSafeCheck)        {            if (HttpContext.Current.Request.QueryString[strName] == null)                return "";            if (sqlSafeCheck && !Utils.IsSafeSqlString(HttpContext.Current.Request.QueryString[strName]))                return "unsafe string";            return HttpContext.Current.Request.QueryString[strName];        }        public static int GetQueryIntValue(string strName)        {            return GetQueryIntValue(strName, 0);        }        /// <summary>        /// 返回指定URL的参数值(Int型)        /// </summary>        /// <param name="strName">URL参数</param>        /// <param name="defaultvalue">默认值</param>        /// <returns>返回指定URL的参数值</returns>        public static int GetQueryIntValue(string strName, int defaultvalue)        {            if (HttpContext.Current.Request.QueryString[strName] == null || HttpContext.Current.Request.QueryString[strName].ToString() == string.Empty)                return defaultvalue;            else            {                Regex obj = new Regex("\\d+");                Match objmach = obj.Match(HttpContext.Current.Request.QueryString[strName].ToString());                if (objmach.Success)                    return Convert.ToInt32(objmach.Value);                else                    return defaultvalue;            }        }        public static string GetQueryStringValue(string strName)        {            return GetQueryStringValue(strName, string.Empty);        }        /// <summary>        /// 返回指定URL的参数值(String型)        /// </summary>        /// <param name="strName">URL参数</param>        /// <param name="defaultvalue">默认值</param>        /// <returns>返回指定URL的参数值</returns>        public static string GetQueryStringValue(string strName, string defaultvalue)        {            if (HttpContext.Current.Request.QueryString[strName] == null || HttpContext.Current.Request.QueryString[strName].ToString() == string.Empty)                return defaultvalue;            else            {                Regex obj = new Regex("\\w+");                Match objmach = obj.Match(HttpContext.Current.Request.QueryString[strName].ToString());                if (objmach.Success)                    return objmach.Value;                else                    return defaultvalue;            }        }/// <summary>/// 获得当前页面的名称/// </summary>/// <returns>当前页面的名称</returns>public static string GetPageName(){string [] urlArr = HttpContext.Current.Request.Url.AbsolutePath.Split('/');return urlArr[urlArr.Length - 1].ToLower();}/// <summary>/// 返回表单或Url参数的总个数/// </summary>/// <returns></returns>public static int GetParamCount(){return HttpContext.Current.Request.Form.Count + HttpContext.Current.Request.QueryString.Count;}/// <summary>/// 获得指定表单参数的值/// </summary>/// <param name="strName">表单参数</param>/// <returns>表单参数的值</returns>public static string GetFormString(string strName){return GetFormString(strName, false);}        /// <summary>        /// 获得指定表单参数的值        /// </summary>        /// <param name="strName">表单参数</param>        /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>        /// <returns>表单参数的值</returns>        public static string GetFormString(string strName, bool sqlSafeCheck)        {            if (HttpContext.Current.Request.Form[strName] == null)                return "";            if (sqlSafeCheck && !Utils.IsSafeSqlString(HttpContext.Current.Request.Form[strName]))                return "unsafe string";            return HttpContext.Current.Request.Form[strName];        }        /// <summary>        /// 返回指定表单的参数值(Int型)        /// </summary>        /// <param name="strName">表单参数</param>        /// <returns>返回指定表单的参数值(Int型)</returns>        public static int GetFormIntValue(string strName)        {            return GetFormIntValue(strName, 0);        }        /// <summary>        /// 返回指定表单的参数值(Int型)        /// </summary>        /// <param name="strName">表单参数</param>        /// <param name="defaultvalue">默认值</param>        /// <returns>返回指定表单的参数值</returns>        public static int GetFormIntValue(string strName, int defaultvalue)        {            if (HttpContext.Current.Request.Form[strName] == null || HttpContext.Current.Request.Form[strName].ToString() == string.Empty)                return defaultvalue;            else            {                Regex obj = new Regex("\\d+");                Match objmach = obj.Match(HttpContext.Current.Request.Form[strName].ToString());                if (objmach.Success)                    return Convert.ToInt32(objmach.Value);                else                    return defaultvalue;            }        }     /// <summary>        /// 返回指定表单的参数值(String型)     /// </summary>     /// <param name="strName">表单参数</param>        /// <returns>返回指定表单的参数值(String型)</returns>        public static string GetFormStringValue(string strName)        {            return GetQueryStringValue(strName, string.Empty);        }        /// <summary>        /// 返回指定表单的参数值(String型)        /// </summary>        /// <param name="strName">表单参数</param>        /// <param name="defaultvalue">默认值</param>        /// <returns>返回指定表单的参数值</returns>        public static string GetFormStringValue(string strName, string defaultvalue)        {            if (HttpContext.Current.Request.Form[strName] == null || HttpContext.Current.Request.Form[strName].ToString() == string.Empty)                return defaultvalue;            else            {                Regex obj = new Regex("\\w+");                Match objmach = obj.Match(HttpContext.Current.Request.Form[strName].ToString());                if (objmach.Success)                    return objmach.Value;                else                    return defaultvalue;            }        }/// <summary>/// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值/// </summary>/// <param name="strName">参数</param>/// <returns>Url或表单参数的值</returns>public static string GetString(string strName){            return GetString(strName, false);}        /// <summary>        /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值        /// </summary>        /// <param name="strName">参数</param>        /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>        /// <returns>Url或表单参数的值</returns>        public static string GetString(string strName, bool sqlSafeCheck)        {            if ("".Equals(GetQueryString(strName)))                return GetFormString(strName, sqlSafeCheck);            else                return GetQueryString(strName, sqlSafeCheck);        }        public static string GetStringValue(string strName)        {            return GetStringValue(strName, string.Empty);        }        /// <summary>        /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值        /// </summary>        /// <param name="strName">参数</param>        /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>        /// <returns>Url或表单参数的值</returns>        public static string GetStringValue(string strName, string defaultvalue)        {            if ("".Equals(GetQueryStringValue(strName)))                return GetFormStringValue(strName, defaultvalue);            else                return GetQueryStringValue(strName, defaultvalue);        }        /// <summary>        /// 获得指定Url参数的int类型值        /// </summary>        /// <param name="strName">Url参数</param>        /// <returns>Url参数的int类型值</returns>        public static int GetQueryInt(string strName)        {            return Utils.StrToInt(HttpContext.Current.Request.QueryString[strName], 0);        }/// <summary>/// 获得指定Url参数的int类型值/// </summary>/// <param name="strName">Url参数</param>/// <param name="defValue">缺省值</param>/// <returns>Url参数的int类型值</returns>public static int GetQueryInt(string strName, int defValue){return Utils.StrToInt(HttpContext.Current.Request.QueryString[strName], defValue);}        /// <summary>        /// 获得指定表单参数的int类型值        /// </summary>        /// <param name="strName">表单参数</param>        /// <returns>表单参数的int类型值</returns>        public static int GetFormInt(string strName)        {            return GetFormInt(strName, 0);        }/// <summary>/// 获得指定表单参数的int类型值/// </summary>/// <param name="strName">表单参数</param>/// <param name="defValue">缺省值</param>/// <returns>表单参数的int类型值</returns>public static int GetFormInt(string strName, int defValue){return Utils.StrToInt(HttpContext.Current.Request.Form[strName], defValue);}/// <summary>/// 获得指定Url或表单参数的int类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值/// </summary>/// <param name="strName">Url或表单参数</param>/// <param name="defValue">缺省值</param>/// <returns>Url或表单参数的int类型值</returns>public static int GetInt(string strName, int defValue){if (GetQueryInt(strName, defValue) == defValue)return GetFormInt(strName, defValue);elsereturn GetQueryInt(strName, defValue);}        /// <summary>        /// 获得指定Url参数的decimal类型值        /// </summary>        /// <param name="strName">Url参数</param>        /// <param name="defValue">缺省值</param>        /// <returns>Url参数的decimal类型值</returns>        public static decimal GetQueryDecimal(string strName, decimal defValue)        {            return Utils.StrToDecimal(HttpContext.Current.Request.QueryString[strName], defValue);        }        /// <summary>        /// 获得指定表单参数的decimal类型值        /// </summary>        /// <param name="strName">表单参数</param>        /// <param name="defValue">缺省值</param>        /// <returns>表单参数的decimal类型值</returns>        public static decimal GetFormDecimal(string strName, decimal defValue)        {            return Utils.StrToDecimal(HttpContext.Current.Request.Form[strName], defValue);        }/// <summary>/// 获得指定Url参数的float类型值/// </summary>/// <param name="strName">Url参数</param>/// <param name="defValue">缺省值</param>/// <returns>Url参数的int类型值</returns>public static float GetQueryFloat(string strName, float defValue){return Utils.StrToFloat(HttpContext.Current.Request.QueryString[strName], defValue);}/// <summary>/// 获得指定表单参数的float类型值/// </summary>/// <param name="strName">表单参数</param>/// <param name="defValue">缺省值</param>/// <returns>表单参数的float类型值</returns>public static float GetFormFloat(string strName, float defValue){return Utils.StrToFloat(HttpContext.Current.Request.Form[strName], defValue);}/// <summary>/// 获得指定Url或表单参数的float类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值/// </summary>/// <param name="strName">Url或表单参数</param>/// <param name="defValue">缺省值</param>/// <returns>Url或表单参数的int类型值</returns>public static float GetFloat(string strName, float defValue){if (GetQueryFloat(strName, defValue) == defValue)return GetFormFloat(strName, defValue);elsereturn GetQueryFloat(strName, defValue);}}}


0 0
原创粉丝点击