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
- ASP.net Reuqest请求常用操作
- ASP.net Reuqest请求常用操作
- asp.net常用操作
- ASP.net操作常用类
- asp.net常用操作(转)
- ASP.NET 缓存常用操作
- 常用ASP.NET操作类
- ASP / Asp.Net 常用操作总结
- ASP.NET日期操作常用操作代码
- reuqest 两种请求方式的解码
- ASP.NET中常用的JavaScript操作
- ASP.NET中常用的JavaScript操作
- ASP.NET中常用的JavaScript操作
- asp.net中常用的javascript操作
- asp.net中常用的javascript操作
- ASP.NET中常用的JavaScript操作
- ASP.NET 中常用JavaScrip操作
- ASP.NET中常用的JavaScript操作
- android无线adb调试
- 求幂
- opencv1-安装及资料
- poj 北大 oj 1840 Eqs
- 1 apache虚拟主机设置
- ASP.net Reuqest请求常用操作
- String,StringBuilder性能对比
- Nodejs http、url模块
- 正则与NSPredicate 应用
- HDU2091(预处理+格式控制)
- 用MyEclipse2014自动加载ssh无法连接数据库问题
- ubuntu 13.04 安装 JDK
- AttributeSet 帮助类,读取Android的属性---1
- 二叉树(11)----求二叉树的镜像,递归和非递归方式