1. /// <summary>
  2. /// 判断当前页面是否接收到了Post请求
  3. /// </summary>
  4. /// <returns>是否接收到了Post请求</returns>
  5. public static bool IsPost()
  6. {
  7. return HttpContext.Current.Request.HttpMethod.Equals("POST");
  8. }
  9.  
  10. /// <summary>
  11. /// 判断当前页面是否接收到了Get请求
  12. /// </summary>
  13. /// <returns>是否接收到了Get请求</returns>
  14. public static bool IsGet()
  15. {
  16. return HttpContext.Current.Request.HttpMethod.Equals("GET");
  17. }
  18.  
  19. /// <summary>
  20. /// 返回指定的服务器变量信息
  21. /// </summary>
  22. /// <param name="strName">服务器变量名</param>
  23. /// <returns>服务器变量信息</returns>
  24. public static string GetServerString(string strName)
  25. {
  26. if (HttpContext.Current.Request.ServerVariables[strName] == null)
  27. return "";
  28.  
  29. return HttpContext.Current.Request.ServerVariables[strName].ToString();
  30. }
  31.  
  32. /// <summary>
  33. /// 返回上一个页面的地址
  34. /// </summary>
  35. /// <returns>上一个页面的地址</returns>
  36. public static string GetUrlReferrer()
  37. {
  38. string retVal = null;
  39.  
  40. try
  41. {
  42. retVal = HttpContext.Current.Request.UrlReferrer.ToString();
  43. }
  44. catch { }
  45.  
  46. if (retVal == null)
  47. return "";
  48.  
  49. return retVal;
  50. }
  51.  
  52. /// <summary>
  53. /// 得到当前完整主机头
  54. /// </summary>
  55. /// <returns></returns>
  56. public static string GetCurrentFullHost()
  57. {
  58. HttpRequest request = System.Web.HttpContext.Current.Request;
  59. if (!request.Url.IsDefaultPort)
  60. return string.Format("{0}:{1}", request.Url.Host, request.Url.Port.ToString());
  61.  
  62. return request.Url.Host;
  63. }
  64.  
  65. /// <summary>
  66. /// 得到主机头
  67. /// </summary>
  68. public static string GetHost()
  69. {
  70. return HttpContext.Current.Request.Url.Host;
  71. }
  72.  
  73. /// <summary>
  74. /// 得到主机名
  75. /// </summary>
  76. public static string GetDnsSafeHost()
  77. {
  78. return HttpContext.Current.Request.Url.DnsSafeHost;
  79. }
  80.  
  81. /// <summary>
  82. /// 获取当前请求的原始 URL(URL 中域信息之后的部分,包括查询字符串(如果存在))
  83. /// </summary>
  84. /// <returns>原始 URL</returns>
  85. public static string GetRawUrl()
  86. {
  87. return HttpContext.Current.Request.RawUrl;
  88. }
  89.  
  90. /// <summary>
  91. /// 判断当前访问是否来自浏览器软件
  92. /// </summary>
  93. /// <returns>当前访问是否来自浏览器软件</returns>
  94. public static bool IsBrowserGet()
  95. {
  96. string[] BrowserName = { "ie", "opera", "netscape", "mozilla", "konqueror", "firefox" };
  97. string curBrowser = HttpContext.Current.Request.Browser.Type.ToLower();
  98. ; i < BrowserName.Length; i++)
  99. {
  100. )
  101. return true;
  102. }
  103. return false;
  104. }
  105.  
  106. /// <summary>
  107. /// 判断是否来自搜索引擎链接
  108. /// </summary>
  109. /// <returns>是否来自搜索引擎链接</returns>
  110. public static bool IsSearchEnginesGet()
  111. {
  112. if (HttpContext.Current.Request.UrlReferrer == null)
  113. return false;
  114.  
  115. ", "lycos", "tom", "yisou", "iask", "soso", "gougou", "zhongsou" };
  116. string tmpReferrer = HttpContext.Current.Request.UrlReferrer.ToString().ToLower();
  117. ; i < SearchEngine.Length; i++)
  118. {
  119. )
  120. return true;
  121. }
  122. return false;
  123. }
  124.  
  125. /// <summary>
  126. /// 获得当前完整Url地址
  127. /// </summary>
  128. /// <returns>当前完整Url地址</returns>
  129. public static string GetUrl()
  130. {
  131. return HttpContext.Current.Request.Url.ToString();
  132. }
  133.  
  134. /// <summary>
  135. /// 获得指定Url参数的值
  136. /// </summary>
  137. /// <param name="strName">Url参数</param>
  138. /// <returns>Url参数的值</returns>
  139. public static string GetQueryString(string strName)
  140. {
  141. return GetQueryString(strName, false);
  142. }
  143.  
  144. /// <summary>
  145. /// 获得指定Url参数的值
  146. /// </summary>
  147. /// <param name="strName">Url参数</param>
  148. /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>
  149. /// <returns>Url参数的值</returns>
  150. public static string GetQueryString(string strName, bool sqlSafeCheck)
  151. {
  152. if (HttpContext.Current.Request.QueryString[strName] == null)
  153. return "";
  154.  
  155. if (sqlSafeCheck && !Utils.IsSafeSqlString(HttpContext.Current.Request.QueryString[strName]))
  156. return "unsafe string";
  157.  
  158. return HttpContext.Current.Request.QueryString[strName];
  159. }
  160.  
  161. public static int GetQueryIntValue(string strName)
  162. {
  163. );
  164. }
  165.  
  166. /// <summary>
  167. /// 返回指定URL的参数值(Int型)
  168. /// </summary>
  169. /// <param name="strName">URL参数</param>
  170. /// <param name="defaultvalue">默认值</param>
  171. /// <returns>返回指定URL的参数值</returns>
  172. public static int GetQueryIntValue(string strName, int defaultvalue)
  173. {
  174. if (HttpContext.Current.Request.QueryString[strName] == null || HttpContext.Current.Request.QueryString[strName].ToString() == string.Empty)
  175. return defaultvalue;
  176. else
  177. {
  178. Regex obj = new Regex("\\d+");
  179. Match objmach = obj.Match(HttpContext.Current.Request.QueryString[strName].ToString());
  180. if (objmach.Success)
  181. return Convert.ToInt32(objmach.Value);
  182. else
  183. return defaultvalue;
  184. }
  185. }
  186.  
  187. public static string GetQueryStringValue(string strName)
  188. {
  189. return GetQueryStringValue(strName, string.Empty);
  190. }
  191.  
  192. /// <summary>
  193. /// 返回指定URL的参数值(String型)
  194. /// </summary>
  195. /// <param name="strName">URL参数</param>
  196. /// <param name="defaultvalue">默认值</param>
  197. /// <returns>返回指定URL的参数值</returns>
  198. public static string GetQueryStringValue(string strName, string defaultvalue)
  199. {
  200. if (HttpContext.Current.Request.QueryString[strName] == null || HttpContext.Current.Request.QueryString[strName].ToString() == string.Empty)
  201. return defaultvalue;
  202. else
  203. {
  204. Regex obj = new Regex("\\w+");
  205. Match objmach = obj.Match(HttpContext.Current.Request.QueryString[strName].ToString());
  206. if (objmach.Success)
  207. return objmach.Value;
  208. else
  209. return defaultvalue;
  210. }
  211. }
  212. /// <summary>
  213. /// 获得当前页面的名称
  214. /// </summary>
  215. /// <returns>当前页面的名称</returns>
  216. public static string GetPageName()
  217. {
  218. string[] urlArr = HttpContext.Current.Request.Url.AbsolutePath.Split('/');
  219. ].ToLower();
  220. }
  221.  
  222. /// <summary>
  223. /// 返回表单或Url参数的总个数
  224. /// </summary>
  225. /// <returns></returns>
  226. public static int GetParamCount()
  227. {
  228. return HttpContext.Current.Request.Form.Count + HttpContext.Current.Request.QueryString.Count;
  229. }
  230.  
  231. /// <summary>
  232. /// 获得指定表单参数的值
  233. /// </summary>
  234. /// <param name="strName">表单参数</param>
  235. /// <returns>表单参数的值</returns>
  236. public static string GetFormString(string strName)
  237. {
  238. return GetFormString(strName, false);
  239. }
  240.  
  241. /// <summary>
  242. /// 获得指定表单参数的值
  243. /// </summary>
  244. /// <param name="strName">表单参数</param>
  245. /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>
  246. /// <returns>表单参数的值</returns>
  247. public static string GetFormString(string strName, bool sqlSafeCheck)
  248. {
  249. if (HttpContext.Current.Request.Form[strName] == null)
  250. return "";
  251.  
  252. if (sqlSafeCheck && !Utils.IsSafeSqlString(HttpContext.Current.Request.Form[strName]))
  253. return "unsafe string";
  254.  
  255. return HttpContext.Current.Request.Form[strName];
  256. }
  257. /// <summary>
  258. /// 返回指定表单的参数值(Int型)
  259. /// </summary>
  260. /// <param name="strName">表单参数</param>
  261. /// <returns>返回指定表单的参数值(Int型)</returns>
  262. public static int GetFormIntValue(string strName)
  263. {
  264. );
  265. }
  266. /// <summary>
  267. /// 返回指定表单的参数值(Int型)
  268. /// </summary>
  269. /// <param name="strName">表单参数</param>
  270. /// <param name="defaultvalue">默认值</param>
  271. /// <returns>返回指定表单的参数值</returns>
  272. public static int GetFormIntValue(string strName, int defaultvalue)
  273. {
  274. if (HttpContext.Current.Request.Form[strName] == null || HttpContext.Current.Request.Form[strName].ToString() == string.Empty)
  275. return defaultvalue;
  276. else
  277. {
  278. Regex obj = new Regex("\\d+");
  279. Match objmach = obj.Match(HttpContext.Current.Request.Form[strName].ToString());
  280. if (objmach.Success)
  281. return Convert.ToInt32(objmach.Value);
  282. else
  283. return defaultvalue;
  284. }
  285. }
  286. /// <summary>
  287. /// 返回指定表单的参数值(String型)
  288. /// </summary>
  289. /// <param name="strName">表单参数</param>
  290. /// <returns>返回指定表单的参数值(String型)</returns>
  291. public static string GetFormStringValue(string strName)
  292. {
  293. return GetQueryStringValue(strName, string.Empty);
  294. }
  295. /// <summary>
  296. /// 返回指定表单的参数值(String型)
  297. /// </summary>
  298. /// <param name="strName">表单参数</param>
  299. /// <param name="defaultvalue">默认值</param>
  300. /// <returns>返回指定表单的参数值</returns>
  301. public static string GetFormStringValue(string strName, string defaultvalue)
  302. {
  303. if (HttpContext.Current.Request.Form[strName] == null || HttpContext.Current.Request.Form[strName].ToString() == string.Empty)
  304. return defaultvalue;
  305. else
  306. {
  307. Regex obj = new Regex("\\w+");
  308. Match objmach = obj.Match(HttpContext.Current.Request.Form[strName].ToString());
  309. if (objmach.Success)
  310. return objmach.Value;
  311. else
  312. return defaultvalue;
  313. }
  314. }
  315.  
  316. /// <summary>
  317. /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
  318. /// </summary>
  319. /// <param name="strName">参数</param>
  320. /// <returns>Url或表单参数的值</returns>
  321. public static string GetString(string strName)
  322. {
  323. return GetString(strName, false);
  324. }
  325.  
  326. /// <summary>
  327. /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
  328. /// </summary>
  329. /// <param name="strName">参数</param>
  330. /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>
  331. /// <returns>Url或表单参数的值</returns>
  332. public static string GetString(string strName, bool sqlSafeCheck)
  333. {
  334. if ("".Equals(GetQueryString(strName)))
  335. return GetFormString(strName, sqlSafeCheck);
  336. else
  337. return GetQueryString(strName, sqlSafeCheck);
  338. }
  339. public static string GetStringValue(string strName)
  340. {
  341. return GetStringValue(strName, string.Empty);
  342. }
  343. /// <summary>
  344. /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
  345. /// </summary>
  346. /// <param name="strName">参数</param>
  347. /// <param name="sqlSafeCheck">是否进行SQL安全检查</param>
  348. /// <returns>Url或表单参数的值</returns>
  349. public static string GetStringValue(string strName, string defaultvalue)
  350. {
  351. if ("".Equals(GetQueryStringValue(strName)))
  352. return GetFormStringValue(strName, defaultvalue);
  353. else
  354. return GetQueryStringValue(strName, defaultvalue);
  355. }
  356.  
  357. /// <summary>
  358. /// 获得指定Url参数的int类型值
  359. /// </summary>
  360. /// <param name="strName">Url参数</param>
  361. /// <returns>Url参数的int类型值</returns>
  362. public static int GetQueryInt(string strName)
  363. {
  364. );
  365. }
  366.  
  367. /// <summary>
  368. /// 获得指定Url参数的int类型值
  369. /// </summary>
  370. /// <param name="strName">Url参数</param>
  371. /// <param name="defValue">缺省值</param>
  372. /// <returns>Url参数的int类型值</returns>
  373. public static int GetQueryInt(string strName, int defValue)
  374. {
  375. return Utils.StrToInt(HttpContext.Current.Request.QueryString[strName], defValue);
  376. }
  377.  
  378. /// <summary>
  379. /// 获得指定表单参数的int类型值
  380. /// </summary>
  381. /// <param name="strName">表单参数</param>
  382. /// <returns>表单参数的int类型值</returns>
  383. public static int GetFormInt(string strName)
  384. {
  385. );
  386. }
  387.  
  388. /// <summary>
  389. /// 获得指定表单参数的int类型值
  390. /// </summary>
  391. /// <param name="strName">表单参数</param>
  392. /// <param name="defValue">缺省值</param>
  393. /// <returns>表单参数的int类型值</returns>
  394. public static int GetFormInt(string strName, int defValue)
  395. {
  396. return Utils.StrToInt(HttpContext.Current.Request.Form[strName], defValue);
  397. }
  398.  
  399. /// <summary>
  400. /// 获得指定Url或表单参数的int类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
  401. /// </summary>
  402. /// <param name="strName">Url或表单参数</param>
  403. /// <param name="defValue">缺省值</param>
  404. /// <returns>Url或表单参数的int类型值</returns>
  405. public static int GetInt(string strName, int defValue)
  406. {
  407. if (GetQueryInt(strName, defValue) == defValue)
  408. return GetFormInt(strName, defValue);
  409. else
  410. return GetQueryInt(strName, defValue);
  411. }
  412.  
  413. /// <summary>
  414. /// 获得指定Url参数的decimal类型值
  415. /// </summary>
  416. /// <param name="strName">Url参数</param>
  417. /// <param name="defValue">缺省值</param>
  418. /// <returns>Url参数的decimal类型值</returns>
  419. public static decimal GetQueryDecimal(string strName, decimal defValue)
  420. {
  421. return Utils.StrToDecimal(HttpContext.Current.Request.QueryString[strName], defValue);
  422. }
  423.  
  424. /// <summary>
  425. /// 获得指定表单参数的decimal类型值
  426. /// </summary>
  427. /// <param name="strName">表单参数</param>
  428. /// <param name="defValue">缺省值</param>
  429. /// <returns>表单参数的decimal类型值</returns>
  430. public static decimal GetFormDecimal(string strName, decimal defValue)
  431. {
  432. return Utils.StrToDecimal(HttpContext.Current.Request.Form[strName], defValue);
  433. }
  434.  
  435. /// <summary>
  436. /// 获得指定Url参数的float类型值
  437. /// </summary>
  438. /// <param name="strName">Url参数</param>
  439. /// <param name="defValue">缺省值</param>
  440. /// <returns>Url参数的int类型值</returns>
  441. public static float GetQueryFloat(string strName, float defValue)
  442. {
  443. return Utils.StrToFloat(HttpContext.Current.Request.QueryString[strName], defValue);
  444. }
  445.  
  446. /// <summary>
  447. /// 获得指定表单参数的float类型值
  448. /// </summary>
  449. /// <param name="strName">表单参数</param>
  450. /// <param name="defValue">缺省值</param>
  451. /// <returns>表单参数的float类型值</returns>
  452. public static float GetFormFloat(string strName, float defValue)
  453. {
  454. return Utils.StrToFloat(HttpContext.Current.Request.Form[strName], defValue);
  455. }
  456.  
  457. /// <summary>
  458. /// 获得指定Url或表单参数的float类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
  459. /// </summary>
  460. /// <param name="strName">Url或表单参数</param>
  461. /// <param name="defValue">缺省值</param>
  462. /// <returns>Url或表单参数的int类型值</returns>
  463. public static float GetFloat(string strName, float defValue)
  464. {
  465. if (GetQueryFloat(strName, defValue) == defValue)
  466. return GetFormFloat(strName, defValue);
  467. else
  468. return GetQueryFloat(strName, defValue);
  469. }
  470.  
  471. /// <summary>
  472. /// 获得当前页面客户端的IP
  473. /// </summary>
  474. /// <returns>当前页面客户端的IP</returns>
  475. public static string GetIP()
  476. {
  477. try
  478. {
  479. string result = String.Empty;
  480.  
  481. result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
  482. if (string.IsNullOrEmpty(result))
  483. {
  484. result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
  485. }
  486.  
  487. if (string.IsNullOrEmpty(result))
  488. {
  489. result = HttpContext.Current.Request.UserHostAddress;
  490. }
  491.  
  492. if (string.IsNullOrEmpty(result) || !Utils.IsIP(result))
  493. {
  494. return "127.0.0.1";
  495. }
  496.  
  497. return result;
  498. }
  499. catch (Exception ex)
  500. {
  501. System.Diagnostics.Trace.Write(ex.Message);
  502. return HttpContext.Current.Request.UserHostAddress;
  503. }

c# 封装 Request操作类的更多相关文章

  1. php--->单例模式封装mysql操作类

    php 单例模式封装mysql操作类 单例模式的必要条件(三私一公) 私有的成员属性--防止类外引入这个存放对象的属性 私有的构造方法--为了防止在类外使用new关键字实例化对象 私有的克隆方法--为 ...

  2. c# 封装Dapper操作类

    using Dapper; using DapperExtensions; using System.Collections.Generic; using System.Configuration; ...

  3. day22:面向对象封装对象操作&类操作&面向对象删除操作

    面向对象程序开发 1.类的三种定义方式 class MyClass: pass class MyClass(): #(推荐) pass class MyClass(object): # object类 ...

  4. php单例模式封装数据库操作类增删改查

    <?php//三私一公 单例class Db{ //数据库连接对象 private static $instance; private static $table_name; private $ ...

  5. Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)

    本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动 ...

  6. Util应用程序框架公共操作类

    随笔分类 - Util应用程序框架公共操作类 Util应用程序框架公共操作类 Util应用程序框架公共操作类(五):异常公共操作类 摘要: 任何系统都需要处理错误,本文介绍的异常公共操作类,用于对业务 ...

  7. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  8. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  9. c# 封装的文件夹操作类之复制文件夹

    c#  封装的文件夹操作类之复制文件夹 一.复制文件夹原理: 1.递归遍历文件夹 2.复制文件 二.FolderHelper.cs /// <summary> /// 文件夹操作类 /// ...

随机推荐

  1. selenium之生成html测试报告--testng.xsl

    自制版制作步骤: 1.首先下载一个文件名为testng.xslt-1.1.zip testng.xslt-1.1我在印象笔记里面备份了一份 打开testng.xslt中lib文件夹,找到saxon-8 ...

  2. app已损坏,打不开。你应该将它移到废纸篓

    首先声明: 有可能并非你安装的软件已损坏,而是Mac系统的安全设置问题,因为这些应用都是破解或者汉化的,那么解决方法就是临时改变Mac系统安全设置. 出现这个问题的解决方法: 修改系统配置:系统偏好设 ...

  3. Spring AOP中pointcut expression表达式

    Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的. Pointcut可以有下列方式来定义或者通过&am ...

  4. 04SQL 查询当天,本月,本周的记录

    SQL 查询当天,本月,本周的记录   SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GE ...

  5. 1.viewpager

    ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view. ViewPager类直接继承了ViewGroup类,所以它是一个容器类,可以在其中添加其他的view类. ...

  6. 8:String类

    String类 String类的特点: 字符串对象一旦被初始化就不会被改变. 字符串是最常用的类型之一,所以为了使用方便java就给封装成了对象方便使用  public static void str ...

  7. 简单登录注册实现(Java面向对象复习)

    简单登录注册的实现(面向对象的复习) 需求: 设计用户类,包含用户名和密码两个属性 设计LoginDemo类设计用户登录方法 用户有三次登录机会,如果连续三次登录失败则退出程序 功能实现页面:     ...

  8. ARM中几个典型的汇编指令解析

    启动嵌入式设备时,遇到了一些汇编,做个笔记,免得以后忘记了. 一句汇编语句如下所指示: __asm ( ".syntax unified\n" ".thumb\n&quo ...

  9. 深度学习python的配置(Windows)

    Windows下深度学习python的配置 1.安装包的下载 (1)anaconda (2)pycharm 2.安装教程 (1)anaconda a.降版本 b.换源 (2)pycharm a.修改h ...

  10. request和response简介

    Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象.和代表响应的response对象. 既然request对象代表http请求,那么我们获取浏览器提交过来 ...