Line 1: using System;
Line 2: using System.Web;
Line 3:
Line 4: namespace MS.Common
Line 5: {
Line 6: /// <summary>
Line 7: /// Request操作类
Line 8: /// </summary>
Line 9: public class EKRequest
Line 10: {
Line 11: /// <summary>
Line 12: /// 获取请求对象
Line 13: /// </summary>
Line 14: /// <returns></returns>
Line 15: public static HttpRequest Request
Line 16: {
Line 17: get
Line 18: {
Line 19: return System.Web.HttpContext.Current.Request;
Line 20: }
Line 21: }
Line 22:
Line 23: /// <summary>
Line 24: /// 判断当前页面是否接收到了Post请求
Line 25: /// </summary>
Line 26: /// <returns>是否接收到了Post请求</returns>
Line 27: public static bool IsPost()
Line 28: {
Line 29: return HttpContext.Current.Request.HttpMethod.Equals("POST");
Line 30: }
Line 31: /// <summary>
Line 32: /// 判断当前页面是否接收到了Get请求
Line 33: /// </summary>
Line 34: /// <returns>是否接收到了Get请求</returns>
Line 35: public static bool IsGet()
Line 36: {
Line 37: return HttpContext.Current.Request.HttpMethod.Equals("GET");
Line 38: }
Line 39:
Line 40: /// <summary>
Line 41: /// 返回指定的服务器变量信息
Line 42: /// </summary>
Line 43: /// <param name="strName">服务器变量名</param>
Line 44: /// <returns>服务器变量信息</returns>
Line 45: public static string GetServerString(string strName)
Line 46: {
Line 47: if (HttpContext.Current.Request.ServerVariables[strName] == null)
Line 48: {
Line 49: return "";
Line 50: }
Line 51: return HttpContext.Current.Request.ServerVariables[strName].ToString();
Line 52: }
Line 53:
Line 54: /// <summary>
Line 55: /// 返回上一个页面的地址
Line 56: /// </summary>
Line 57: /// <returns>上一个页面的地址</returns>
Line 58: public static string GetUrlReferrer()
Line 59: {
Line 60: string retVal = null;
Line 61:
Line 62: try
Line 63: {
Line 64: retVal = HttpContext.Current.Request.UrlReferrer.ToString();
Line 65: }
Line 66: catch { }
Line 67:
Line 68: if (retVal == null)
Line 69: {
Line 70: return "";
Line 71: }
Line 72:
Line 73: return FilterKey(retVal);
Line 74:
Line 75: }
Line 76:
Line 77: /// <summary>
Line 78: /// 得到当前完整主机头
Line 79: /// </summary>
Line 80: /// <returns></returns>
Line 81: public static string GetCurrentFullHost()
Line 82: {
Line 83: HttpRequest request = System.Web.HttpContext.Current.Request;
Line 84: if (!request.Url.IsDefaultPort)
Line 85: {
Line 86: return string.Format("{0}:{1}", request.Url.Host, request.Url.Port.ToString());
Line 87: }
Line 88: return request.Url.Host;
Line 89: }
Line 90:
Line 91: /// <summary>
Line 92: /// 得到主机头
Line 93: /// </summary>
Line 94: /// <returns></returns>
Line 95: public static string GetHost()
Line 96: {
Line 97: return HttpContext.Current.Request.Url.Host;
Line 98: }
Line 99:
Line 100:
Line 101: /// <summary>
Line 102: /// 获取当前请求的原始 URL(URL 中域信息之后的部分,包括查询字符串(如果存在))
Line 103: /// </summary>
Line 104: /// <returns>原始 URL</returns>
Line 105: public static string GetRawUrl()
Line 106: {
Line 107: return FilterKey(StrEncode(HttpContext.Current.Request.RawUrl));
Line 108: }
Line 109:
Line 110: /// <summary>
Line 111: /// 判断当前访问是否来自浏览器软件
Line 112: /// </summary>
Line 113: /// <returns>当前访问是否来自浏览器软件</returns>
Line 114: public static bool IsBrowserGet()
Line 115: {
Line 116: string[] BrowserName = { "ie", "opera", "netscape", "mozilla", "konqueror", "firefox" };
Line 117: string curBrowser = HttpContext.Current.Request.Browser.Type.ToLower();
Line 118: for (int i = 0; i < BrowserName.Length; i++)
Line 119: {
Line 120: if (curBrowser.IndexOf(BrowserName[i]) >= 0)
Line 121: {
Line 122: return true;
Line 123: }
Line 124: }
Line 125: return false;
Line 126: }
Line 127:
Line 128: /// <summary>
Line 129: /// 判断是否来自搜索引擎链接
Line 130: /// </summary>
Line 131: /// <returns>是否来自搜索引擎链接</returns>
Line 132: public static bool IsSearchEnginesGet()
Line 133: {
Line 134: if (HttpContext.Current.Request.UrlReferrer == null)
Line 135: {
Line 136: return false;
Line 137: }
Line 138: string[] SearchEngine = { "google", "yahoo", "msn", "baidu", "sogou", "sohu", "sina", "163", "lycos", "tom", "yisou", "iask", "soso", "gougou", "zhongsou" };
Line 139: string tmpReferrer = HttpContext.Current.Request.UrlReferrer.ToString().ToLower();
Line 140: for (int i = 0; i < SearchEngine.Length; i++)
Line 141: {
Line 142: if (tmpReferrer.IndexOf(SearchEngine[i]) >= 0)
Line 143: {
Line 144: return true;
Line 145: }
Line 146: }
Line 147: return false;
Line 148: }
Line 149:
Line 150: /// <summary>
Line 151: /// 获得当前完整Url地址
Line 152: /// </summary>
Line 153: /// <returns>当前完整Url地址</returns>
Line 154: public static string GetUrl()
Line 155: {
Line 156: return FilterKey(HttpContext.Current.Request.Url.ToString());
Line 157: //return System.Web.HttpContext.Current.Server.UrlEncode(System.Web.HttpContext.Current.Request.Url.ToString());
Line 158: }
Line 159:
Line 160: /// <summary>
Line 161: /// 获得当前Url地址参数列表字符串,不包含'?'号
Line 162: /// </summary>
Line 163: /// <returns>当前完整Url地址</returns>
Line 164: public static string GetUrlParameterList()
Line 165: {
Line 166: string[] urlArr = HttpContext.Current.Request.Url.Query.Split('?');
Line 167: return FilterKey(urlArr[urlArr.Length - 1]);
Line 168: }
Line 169:
Line 170: /// <summary>
Line 171: /// 获得指定Url参数的值
Line 172: /// </summary>
Line 173: /// <param name="strName">Url参数</param>
Line 174: /// <returns>Url参数的值</returns>
Line 175: public static string GetQueryString(string strName)
Line 176: {
Line 177: if (HttpContext.Current.Request.QueryString[strName] == null)
Line 178: {
Line 179: return "";
Line 180: }
Line 181:
Line 182: //string q = HttpContext.Current.Request.Url.Query;
Line 183: System.Collections.Specialized.NameValueCollection nv = System.Web.HttpUtility.ParseQueryString(HttpContext.Current.Request.Url.Query, System.Text.Encoding.GetEncoding("utf-8"));
Line 184: return FilterKey(nv[strName]);
Line 185:
Line 186: //System.Collections.Specialized.NameValueCollection nv = System.Web.HttpUtility.ParseQueryString(HttpContext.Current.Request.Url.Query);
Line 187: //return nv[strName];
Line 188: //return HttpContext.Current.Request.QueryString[strName];
Line 189: }
Line 190:
Line 191: /// <summary>
Line 192: /// 获得当前页面的名称,不包括参数
Line 193: /// </summary>
Line 194: /// <returns>当前页面的名称</returns>
Line 195: public static string GetPageName()
Line 196: {
Line 197: string[] urlArr = HttpContext.Current.Request.Url.AbsolutePath.Split('/');
Line 198: return urlArr[urlArr.Length - 1];
Line 199: }
Line 200:
Line 201: /// <summary>
Line 202: /// 获得当前页面的名称,包括参数
Line 203: /// </summary>
Line 204: /// <returns>当前页面的名称</returns>
Line 205: public static string GetPageNameAndQuery()
Line 206: {
Line 207: string[] urlArr = HttpContext.Current.Request.Url.PathAndQuery.Split('/');
Line 208: return FilterKey(urlArr[urlArr.Length - 1]);
Line 209: }
Line 210:
Line 211:
Line 212: /// <summary>
Line 213: /// 获取上次请求的路径与参数
Line 214: /// </summary>
Line 215: /// <returns></returns>
Line 216: public static string GetReferrerPathAndQuery()
Line 217: {
Line 218: return FilterKey(HttpContext.Current.Request.UrlReferrer.PathAndQuery);
Line 219: }
Line 220:
Line 221: /// <summary>
Line 222: /// 获得当前页面的名称,包括参数
Line 223: /// </summary>
Line 224: /// <returns>当前页面全名</returns>
Line 225: public static string GetPageAllName()
Line 226: {
Line 227: return FilterKey(HttpContext.Current.Request.Url.ToString());
Line 228: }
Line 229:
Line 230: /// <summary>
Line 231: /// 返回表单和Url参数的总个数
Line 232: /// </summary>
Line 233: /// <returns></returns>
Line 234: public static int GetParamCount()
Line 235: {
Line 236: return HttpContext.Current.Request.Form.Count + HttpContext.Current.Request.QueryString.Count;
Line 237: }
Line 238:
Line 239:
Line 240: /// <summary>
Line 241: /// 获得指定表单参数的值
Line 242: /// </summary>
Line 243: /// <param name="strName">表单参数</param>
Line 244: /// <returns>表单参数的值</returns>
Line 245: public static string GetFormString(string strName)
Line 246: {
Line 247: if (HttpContext.Current.Request.Form[strName] == null)
Line 248: {
Line 249: return "";
Line 250: }
Line 251: return HttpContext.Current.Request.Form[strName];
Line 252: }
Line 253:
Line 254: /// <summary>
Line 255: /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
Line 256: /// </summary>
Line 257: /// <param name="strName">参数</param>
Line 258: /// <returns>Url或表单参数的值</returns>
Line 259: public static string GetString(string strName)
Line 260: {
Line 261: if ("".Equals(GetQueryString(strName)))
Line 262: {
Line 263: return GetFormString(strName);
Line 264: }
Line 265: else
Line 266: {
Line 267: return GetQueryString(strName);
Line 268: }
Line 269: }
Line 270:
Line 271: /// <summary>
Line 272: /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
Line 273: /// </summary>
Line 274: /// <param name="strName">参数</param>
Line 275: /// <param name="dufault">默认值</param>
Line 276: /// <returns>Url或表单参数的值</returns>
Line 277: public static string GetString(string strName, string val)
Line 278: {
Line 279: if ("".Equals(GetQueryString(strName)))
Line 280: {
Line 281: if (GetFormString(strName) == "")
Line 282: {
Line 283: return val;
Line 284: }
Line 285: else
Line 286: {
Line 287: return GetFormString(strName);
Line 288: }
Line 289: }
Line 290: else
Line 291: {
Line 292: if (GetQueryString(strName) == "")
Line 293: {
Line 294: return val;
Line 295: }
Line 296: else
Line 297: {
Line 298: return GetQueryString(strName);
Line 299: }
Line 300: }
Line 301: }
Line 302:
Line 303: /// <summary>
Line 304: /// 获得Url或表单参数的值, 先判断Url参数是否为空字符串, 如为True则返回表单参数的值
Line 305: /// </summary>
Line 306: /// <param name="strName">参数</param>
Line 307: /// <param name="dufault">默认值</param>
Line 308: /// <returns>Url或表单参数的值</returns>
Line 309: public static int GetString(string strName, int val)
Line 310: {
Line 311: if ("".Equals(GetQueryString(strName)))
Line 312: {
Line 313: if (GetFormString(strName) == "")
Line 314: {
Line 315: return val;
Line 316: }
Line 317: else
Line 318: {
Line 319: try
Line 320: {
Line 321: val = Convert.ToInt32(GetFormString(strName));
Line 322: }
Line 323: catch
Line 324: {
Line 325: }
Line 326: }
Line 327: }
Line 328: else
Line 329: {
Line 330: if (GetQueryString(strName) == "")
Line 331: {
Line 332: return val;
Line 333: }
Line 334: else
Line 335: {
Line 336: try
Line 337: {
Line 338: val = Convert.ToInt32(GetQueryString(strName));
Line 339: }
Line 340: catch
Line 341: {
Line 342: }
Line 343: }
Line 344: }
Line 345: return val;
Line 346: }
Line 347:
Line 348: /// <summary>
Line 349: /// 获得指定Url参数的int类型值
Line 350: /// </summary>
Line 351: /// <param name="strName">Url参数</param>
Line 352: /// <param name="defValue">缺省值</param>
Line 353: /// <returns>Url参数的int类型值</returns>
Line 354: public static int GetQueryInt(string strName, int defValue)
Line 355: {
Line 356: return Utils.StrToInt(HttpContext.Current.Request.QueryString[strName], defValue);
Line 357: }
Line 358:
Line 359:
Line 360: /// <summary>
Line 361: /// 获得指定表单参数的int类型值
Line 362: /// </summary>
Line 363: /// <param name="strName">表单参数</param>
Line 364: /// <param name="defValue">缺省值</param>
Line 365: /// <returns>表单参数的int类型值</returns>
Line 366: public static int GetFormInt(string strName, int defValue)
Line 367: {
Line 368: return Utils.StrToInt(HttpContext.Current.Request.Form[strName], defValue);
Line 369: }
Line 370:
Line 371: /// <summary>
Line 372: /// 获得指定Url或表单参数的int类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
Line 373: /// </summary>
Line 374: /// <param name="strName">Url或表单参数</param>
Line 375: /// <param name="defValue">缺省值</param>
Line 376: /// <returns>Url或表单参数的int类型值</returns>
Line 377: public static int GetInt(string strName, int defValue)
Line 378: {
Line 379: if (GetQueryInt(strName, defValue) == defValue)
Line 380: {
Line 381: return GetFormInt(strName, defValue);
Line 382: }
Line 383: else
Line 384: {
Line 385: return GetQueryInt(strName, defValue);
Line 386: }
Line 387: }
Line 388:
Line 389: /// <summary>
Line 390: /// 获得指定Url参数的float类型值
Line 391: /// </summary>
Line 392: /// <param name="strName">Url参数</param>
Line 393: /// <param name="defValue">缺省值</param>
Line 394: /// <returns>Url参数的int类型值</returns>
Line 395: public static float GetQueryFloat(string strName, float defValue)
Line 396: {
Line 397: return Utils.StrToFloat(HttpContext.Current.Request.QueryString[strName], defValue);
Line 398: }
Line 399:
Line 400:
Line 401: /// <summary>
Line 402: /// 获得指定表单参数的float类型值
Line 403: /// </summary>
Line 404: /// <param name="strName">表单参数</param>
Line 405: /// <param name="defValue">缺省值</param>
Line 406: /// <returns>表单参数的float类型值</returns>
Line 407: public static float GetFormFloat(string strName, float defValue)
Line 408: {
Line 409: return Utils.StrToFloat(HttpContext.Current.Request.Form[strName], defValue);
Line 410: }
Line 411:
Line 412: /// <summary>
Line 413: /// 获得指定Url或表单参数的float类型值, 先判断Url参数是否为缺省值, 如为True则返回表单参数的值
Line 414: /// </summary>
Line 415: /// <param name="strName">Url或表单参数</param>
Line 416: /// <param name="defValue">缺省值</param>
Line 417: /// <returns>Url或表单参数的int类型值</returns>
Line 418: public static float GetFloat(string strName, float defValue)
Line 419: {
Line 420: if (GetQueryFloat(strName, defValue) == defValue)
Line 421: {
Line 422: return GetFormFloat(strName, defValue);
Line 423: }
Line 424: else
Line 425: {
Line 426: return GetQueryFloat(strName, defValue);
Line 427: }
Line 428: }
Line 429:
Line 430: /// <summary>
Line 431: /// 获得当前页面客户端的IP
Line 432: /// </summary>
Line 433: /// <returns>当前页面客户端的IP</returns>
Line 434: public static string GetIP()
Line 435: {
Line 436: string result = String.Empty;
Line 437:
Line 438: result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
Line 439: if (string.IsNullOrEmpty(result))
Line 440: {
Line 441: result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
Line 442: }
Line 443:
Line 444: if (string.IsNullOrEmpty(result))
Line 445: {
Line 446: result = HttpContext.Current.Request.UserHostAddress;
Line 447: }
Line 448:
Line 449: if (string.IsNullOrEmpty(result) || !Utils.IsIP(result))
Line 450: {
Line 451: return "127.0.0.1";
Line 452: }
Line 453:
Line 454: return result;
Line 455:
Line 456: }
Line 457:
Line 458: /// <summary>
Line 459: /// 是否本站提交
Line 460: /// </summary>
Line 461: /// <returns></returns>
Line 462: public static bool IsLocalPost()
Line 463: {
Line 464: string met = HttpContext.Current.Request.ServerVariables["Request_Method"];
Line 465: if (met == "POST")
Line 466: {
Line 467: if (HttpContext.Current.Request.UrlReferrer == null)
Line 468: {
Line 469: return true;
Line 470: }
Line 471: else
Line 472: {
Line 473: string host = HttpContext.Current.Request.Url.Host;
Line 474: string url = HttpContext.Current.Request.UrlReferrer.DnsSafeHost;
Line 475: if (url.IndexOf(host) != -1)
Line 476: {
Line 477: return true;
Line 478: }
Line 479: else
Line 480: {
Line 481: return false;
Line 482: }
Line 483: }
Line 484: }
Line 485: else
Line 486: {
Line 487: return true;
Line 488: }
Line 489: }
Line 490:
Line 491:
Line 492: /// <summary>
Line 493: /// 删除当前请求中的重复的参数,删除指定参数(多个使用,号格开),并返回删除后参数列表
Line 494: /// </summary>
Line 495: /// <param name="parame">参数键名,多个用逗号格开</param>
Line 496: /// <returns></returns>
Line 497: public static string RemoveSameParameter(string parameter)
Line 498: {
Line 499: string strParam = "";
Line 500: bool isExist = false;
Line 501: for (int i = 0; i < HttpContext.Current.Request.QueryString.Count; i++)
Line 502: {
Line 503: for (int j = 0; j < HttpContext.Current.Request.QueryString.Count; j++)
Line 504: {
Line 505: if (HttpContext.Current.Request.QueryString.GetKey(i) == null || HttpContext.Current.Request.QueryString.GetKey(j) == null)
Line 506: {
Line 507: break;
Line 508: }
Line 509:
Line 510: if (i != j && HttpContext.Current.Request.QueryString.GetKey(i).ToLower() == HttpContext.Current.Request.QueryString.GetKey(j).ToLower())
Line 511: {
Line 512: isExist = true;
Line 513: break;
Line 514: }
Line 515: }
Line 516:
Line 517: //多参数
Line 518: string[] strAry = parameter.ToLower().Split(',');
Line 519: bool isParam = false;
Line 520: for (int k = 0; k < strAry.Length; k++)
Line 521: {
Line 522: if (HttpContext.Current.Request.QueryString.GetKey(i) == null || strAry[k] == null)
Line 523: {
Line 524: break;
Line 525: }
Line 526:
Line 527: if (HttpContext.Current.Request.QueryString.GetKey(i).ToLower() == strAry[k])
Line 528: {
Line 529: isParam = true;
Line 530: break;
Line 531: }
Line 532: }
Line 533:
Line 534: //是否存在重复,是否存在 要删除中的一个.为了不重复添加,判断strParam中是否已经存在相同键 "?键=" 或 "&键="
Line 535: if (!isExist && HttpContext.Current.Request.QueryString.GetKey(i) != null && !isParam)
Line 536: {
Line 537: strParam += "&" + HttpContext.Current.Request.QueryString.GetKey(i) + "=" + EKRequest.StrEncode(HttpContext.Current.Request.QueryString.Get(i),"utf-8");
Line 538: }
Line 539: }
Line 540: if (strParam.Contains("&"))
Line 541: {
Line 542: strParam = strParam.Remove(0, 1);
Line 543: }
Line 544: return FilterKey(strParam);
Line 545: }
Line 546:
Line 547: /// <summary>
Line 548: /// 删除当前请求中的重复的参数,并返回删除后参数列表
Line 549: /// </summary>
Line 550: /// <returns></returns>
Line 551: public static string RemoveSameParameter()
Line 552: {
Line 553: return RemoveSameParameter("");
Line 554: }
Line 555:
Line 556: /// <summary>
Line 557: /// 重新定向页面,返回删除参数后的页面地址
Line 558: /// </summary>
Line 559: /// <param name="par">参数键名,多个用逗号格开</param>
Line 560: /// <returns></returns>
Line 561: public static string RePage(string par)
Line 562: {
Line 563: return EKRequest.GetPageName() + "?" + EKRequest.RemoveSameParameter(par);
Line 564: }
Line 565:
Line 566:
Line 567: /// <summary>
Line 568: /// 当前页面编码
Line 569: /// </summary>
Line 570: /// <returns></returns>
Line 571: public static string GetUrlEncode()
Line 572: {
Line 573: return FilterKey(System.Web.HttpContext.Current.Server.UrlEncode(System.Web.HttpContext.Current.Request.Url.ToString()));
Line 574: }
Line 575:
Line 576: /// <summary>
Line 577: /// 当前页面解码
Line 578: /// </summary>
Line 579: /// <returns></returns>
Line 580: public static string GetUrlDecode()
Line 581: {
Line 582: return System.Web.HttpContext.Current.Server.UrlDecode(System.Web.HttpContext.Current.Request.Url.ToString());
Line 583: }
Line 584:
Line 585: /// <summary>
Line 586: /// 字符串编码
Line 587: /// </summary>
Line 588: /// <param name="str"></param>
Line 589: /// <returns></returns>
Line 590: public static string StrEncode(string str)
Line 591: {
Line 592: return StrEncode(str, "utf-8");
Line 593: }
Line 594:
Line 595: /// <summary>
Line 596: /// 字符串编码
Line 597: /// </summary>
Line 598: /// <param name="str"></param>
Line 599: /// <param name="encoding">编码类型</param>
Line 600: /// <returns></returns>
Line 601: public static string StrEncode(string str,string encoding)
Line 602: {
Line 603: return FilterKey(System.Web.HttpUtility.UrlEncode(str, System.Text.Encoding.GetEncoding(encoding)).Replace("+", "%20"));
Line 604: }
Line 605:
Line 606: /// <summary>
Line 607: /// 字符串解码
Line 608: /// </summary>
Line 609: /// <param name="str"></param>
Line 610: /// <returns></returns>
Line 611: public static string StrDecode(string str)
Line 612: {
Line 613: return StrDecode(str, "utf-8");
Line 614: }
Line 615:
Line 616: /// <summary>
Line 617: /// 字符串解码
Line 618: /// </summary>
Line 619: /// <param name="str"></param>
Line 620: /// <param name="encoding">编码类型</param>
Line 621: /// <returns></returns>
Line 622: public static string StrDecode(string str, string encoding)
Line 623: {
Line 624: return System.Web.HttpUtility.UrlDecode(str, System.Text.Encoding.GetEncoding(encoding));
Line 625: }
Line 626:
Line 627: /// <summary>
Line 628: /// 地址,路径编码,排除 / // \ \\等编码
Line 629: /// </summary>
Line 630: /// <param name="str"></param>
Line 631: /// <returns></returns>
Line 632: public static string StrEncodeUrl(string str)
Line 633: {
Line 634: return StrEncodeUrl(str, "utf-8");
Line 635: }
Line 636:
Line 637: /// <summary>
Line 638: /// 地址,路径编码,排除 / // \ \\等编码
Line 639: /// </summary>
Line 640: /// <param name="str"></param>
Line 641: /// <param name="encoding">编码类型</param>
Line 642: /// <returns></returns>
Line 643: public static string StrEncodeUrl(string str, string encoding)
Line 644: {
Line 645: if (str == null)
Line 646: {
Line 647: return "";
Line 648: }
Line 649: char tempStr = ' ';
Line 650: string tempStr2 = "";
Line 651: string returnStr = "";
Line 652: char[] ary = str.ToCharArray();
Line 653: for (int i = 0; i < str.Length; i++)
Line 654: {
Line 655: tempStr = ary[i];
Line 656: //过滤特别字符
Line 657: if (!Common.GetString.IsExist(":,?,&,/,//,///,////,\\,\\\\,\\/,/\\", ',', tempStr.ToString()))
Line 658: {
Line 659: tempStr2 = EKRequest.StrEncode(tempStr.ToString(), encoding);
Line 660: }
Line 661: else
Line 662: {
Line 663: tempStr2 = tempStr.ToString();
Line 664: }
Line 665: //新编码字符串
Line 666: returnStr += tempStr2;
Line 667: }
Line 668: return returnStr.Replace("+", "%20");
Line 669: }
Line 670:
Line 671: /// <summary>
Line 672: /// 转义敏感字符
Line 673: /// </summary>
Line 674: /// <param name="url"></param>
Line 675: /// <returns></returns>
Line 676: public static string FilterKey(string url)
Line 677: {
Line 678: if (url == null)
Line 679: {
Line 680: return null;
Line 681: }
Line 682:
Line 683: url = url.Replace("<", "<");
Line 684: url = url.Replace(">", ">");
Line 685: url = url.Replace("\"", """);
Line 686: url = url.Replace("\\", "'");
Line 687:
Line 688: //url = url.Replace("%", "%");
Line 689: //url = url.Replace(";", ";");
Line 690: url = url.Replace("(", "(");
Line 691: url = url.Replace(")", ")");
Line 692:
Line 693: //url = url.Replace("&", "&");
Line 694: //url = url.Replace("+", "+");
Line 695:
Line 696: return url;
Line 697: }
Line 698:
Line 699: /// <summary>
Line 700: /// 还原转义敏感字符
Line 701: /// </summary>
Line 702: /// <param name="url"></param>
Line 703: /// <returns></returns>
Line 704: public static string FilterKeyReverse(string url)
Line 705: {
Line 706: if (url == null)
Line 707: {
Line 708: return null;
Line 709: }
Line 710:
Line 711: url = url.Replace("<", "<");
Line 712: url = url.Replace(">", ">");
Line 713: url = url.Replace(""", "\"");
Line 714: url = url.Replace("'", "\\");
Line 715:
Line 716: //url = url.Replace("%", "%");
Line 717: //url = url.Replace(";", ";");
Line 718: url = url.Replace("(", "(");
Line 719: url = url.Replace(")", ")");
Line 720:
Line 721: //url = url.Replace("&", "&");
Line 722: //url = url.Replace("+", "+");
Line 723:
Line 724: return url;
Line 725: }
Line 726: }
Line 727: }
Line 728:
|