c# 封装 Request操作类
/// <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(); ; i < BrowserName.Length; i++) { ) return true; } return false; } /// <summary> /// 判断是否来自搜索引擎链接 /// </summary> /// <returns>是否来自搜索引擎链接</returns> public static bool IsSearchEnginesGet() { if (HttpContext.Current.Request.UrlReferrer == null) return false; ", "lycos", "tom", "yisou", "iask", "soso", "gougou", "zhongsou" }; string tmpReferrer = HttpContext.Current.Request.UrlReferrer.ToString().ToLower(); ; i < SearchEngine.Length; i++) { ) 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) { ); } /// <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('/'); ].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) { ); } /// <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) { ); } /// <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) { ); } /// <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); else return 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); else return GetQueryFloat(strName, defValue); } /// <summary> /// 获得当前页面客户端的IP /// </summary> /// <returns>当前页面客户端的IP</returns> public static string GetIP() { try { string result = String.Empty; result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (string.IsNullOrEmpty(result)) { result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } if (string.IsNullOrEmpty(result)) { result = HttpContext.Current.Request.UserHostAddress; } if (string.IsNullOrEmpty(result) || !Utils.IsIP(result)) { return "127.0.0.1"; } return result; } catch (Exception ex) { System.Diagnostics.Trace.Write(ex.Message); return HttpContext.Current.Request.UserHostAddress; }
c# 封装 Request操作类的更多相关文章
- php--->单例模式封装mysql操作类
php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...
- c# 封装Dapper操作类
using Dapper; using DapperExtensions; using System.Collections.Generic; using System.Configuration; ...
- day22:面向对象封装对象操作&类操作&面向对象删除操作
面向对象程序开发 1.类的三种定义方式 class MyClass: pass class MyClass(): #(推荐) pass class MyClass(object): # object类 ...
- php单例模式封装数据库操作类增删改查
<?php//三私一公 单例class Db{ //数据库连接对象 private static $instance; private static $table_name; private $ ...
- Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)
本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动 ...
- Util应用程序框架公共操作类
随笔分类 - Util应用程序框架公共操作类 Util应用程序框架公共操作类 Util应用程序框架公共操作类(五):异常公共操作类 摘要: 任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务 ...
- 基于 Aspose.Cells与XML导入excel 数据----操作类封装
前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...
- XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)
XML序列化 #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...
- c# 封装的文件夹操作类之复制文件夹
c# 封装的文件夹操作类之复制文件夹 一.复制文件夹原理: 1.递归遍历文件夹 2.复制文件 二.FolderHelper.cs /// <summary> /// 文件夹操作类 /// ...
随机推荐
- js删除map中元素
js中删除map中元素后,map的长度不变,这时需要我们自己处理 delete vacc[0]; delete vacc[1]; ClearNullArr(vacc); //清除vacc中的null值 ...
- 位运算------按位与、按位或、按位异或、取反、<<、>>、>>>
程序中的所有数在计算机内存中都是以二进制的形式储存的,位运算就是直接对整数在内存中的二进制位进行操作. 知识点: 1.原码.反码.补码(以byte的1.-1举例) 示例 ...
- HTML中的table导出为Excel文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#情怀与未来
C#情怀与未来,怨天尤人还是抓住机会,能否跟上dnc新时代浪潮? 经常看到有.NET圈子在讨论是否应该转其它语言 C#情怀是一方面,如果觉得C#未来没前途,光靠情怀是撑不住的, 建议对C#未来 ...
- Gitlab配置、备份、升级、迁移
0.Gitlab安装 1.安装和配置必要的依赖关系 在CentOS7,下面的命令将在系统防火墙打开HTTP和SSH访问. yum install curl openssh-server postfix ...
- (转载)RHEL7(RedHat 7)本地源的配置
配置yum源 1.首先连接RedHat7的DVD再把挂载DVD光盘到/mnt 因为配置时候路径名里面不能有空格,否则不能识别 [root@ mnt]# mount /dev/cdrom /mnt ...
- 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体
[源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...
- JVM自动内存管理机制——Java内存区域(上)
一.JVM运行时数据区域概述 Java相比较于C/C++的一个特点就是,在虚拟机自动内存管理机制的帮助下,我们不需要为每一个操作都写像C/C++一样的delete/free代码,所以也不容易出现内存泄 ...
- 【BZOJ】 Hash Killer I II III
前言 这里只是一个整理... Solution Hash Killer I Hash Killer II
- Flask中的模板语言jinja2
jinja2介绍 jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,由于其灵活,快速和安全等优点被广泛使用. jinja2的优点 jin ...