网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

网址URL的操作类【经典】

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
  1. public class UrlOper 
  2.     { 
  3.         static System.Text.Encoding encoding = System.Text.Encoding.UTF8; 
  4.  
  5.         #region URL的64位编码 
  6.         public static string Base64Encrypt(string sourthUrl) 
  7.         { 
  8.             string eurl = HttpUtility.UrlEncode(sourthUrl); 
  9.             eurl = Convert.ToBase64String(encoding.GetBytes(eurl)); 
  10.             return eurl; 
  11.         } 
  12.         #endregion 
  13.  
  14.         #region URL的64位解码 
  15.         public static string Base64Decrypt(string eStr) 
  16.         {         
  17.             if (!IsBase64(eStr)) 
  18.             { 
  19.                 return eStr; 
  20.             } 
  21.             byte buffer = Convert.FromBase64String(eStr); 
  22.             string sourthUrl = encoding.GetString(buffer); 
  23.             sourthUrl = HttpUtility.UrlDecode(sourthUrl); 
  24.             return sourthUrl; 
  25.         } 
  26.         /// <summary> 
  27.         /// 是否是Base64字符串 
  28.         /// </summary> 
  29.         /// <param name="eStr"></param> 
  30.         /// <returns></returns> 
  31.         public static bool IsBase64(string eStr) 
  32.         { 
  33.             if ((eStr.Length % 4) != 0) 
  34.             { 
  35.                 return false
  36.             } 
  37.             if (!Regex.IsMatch(eStr, "^[A-Z0-9/+=]*contentquot;, RegexOptions.IgnoreCase)) 
  38.             { 
  39.                 return false
  40.             } 
  41.             return true
  42.         } 
  43.         #endregion 
  44.  
  45.         /// <summary> 
  46.         /// 添加URL参数 
  47.         /// </summary> 
  48.         public static string AddParam(string url, string paramName, string value) 
  49.         { 
  50.             Uri uri = new Uri(url); 
  51.             if (string.IsNullOrEmpty(uri.Query)) 
  52.             { 
  53.                 string eval = HttpContext.Current.Server.UrlEncode(value); 
  54.                 return String.Concat(url, "?" + paramName + "=" + eval); 
  55.             } 
  56.             else 
  57.             { 
  58.                 string eval = HttpContext.Current.Server.UrlEncode(value); 
  59.                 return String.Concat(url, "&" + paramName + "=" + eval); 
  60.             } 
  61.         } 
  62.         /// <summary> 
  63.         /// 更新URL参数 
  64.         /// </summary> 
  65.         public static string UpdateParam(string url, string paramName, string value) 
  66.         { 
  67.             string keyWord = paramName+"="
  68.             int index = url.IndexOf(keyWord)+keyWord.Length; 
  69.             int index1 = url.IndexOf("&", index); 
  70.             if (index1 == -1) 
  71.             { 
  72.                 url = url.Remove(index, url.Length - index); 
  73.                 url = string.Concat(url, value); 
  74.                 return url; 
  75.             } 
  76.             url = url.Remove(index,index1 - index); 
  77.             url = url.Insert(index, value); 
  78.             return url; 
  79.         } 
  80.  
  81.         #region 分析URL所属的域 
  82.         public static void GetDomain(string fromUrl, out string domain, out string subDomain) 
  83.         { 
  84.             domain = ""
  85.             subDomain = ""
  86.             try 
  87.             { 
  88.                 if (fromUrl.IndexOf("的名片") > -1) 
  89.                 { 
  90.                     subDomain = fromUrl; 
  91.                     domain = "名片"
  92.                     return
  93.                 } 
  94.  
  95.                 UriBuilder builder = new UriBuilder(fromUrl); 
  96.                 fromUrl = builder.ToString(); 
  97.  
  98.                 Uri u = new Uri(fromUrl); 
  99.  
  100.                 if (u.IsWellFormedOriginalString()) 
  101.                 { 
  102.                     if (u.IsFile) 
  103.                     { 
  104.                         subDomain = domain = "客户端本地文件路径"
  105.  
  106.                     } 
  107.                     else 
  108.                     { 
  109.                         string Authority = u.Authority; 
  110.                         string ss = u.Authority.Split('.'); 
  111.                         if (ss.Length == 2) 
  112.                         { 
  113.                             Authority = "www." + Authority; 
  114.                         } 
  115.                         int index = Authority.IndexOf('.', 0); 
  116.                         domain = Authority.Substring(index + 1, Authority.Length - index - 1).Replace("comhttp","com"); 
  117.                         subDomain = Authority.Replace("comhttp""com");  
  118.                         if (ss.Length < 2) 
  119.                         { 
  120.                             domain = "不明路径"
  121.                             subDomain = "不明路径"
  122.                         } 
  123.                     } 
  124.                 } 
  125.                 else 
  126.                 { 
  127.                     if (u.IsFile) 
  128.                     { 
  129.                         subDomain = domain = "客户端本地文件路径"
  130.                     } 
  131.                     else 
  132.                     { 
  133.                         subDomain = domain = "不明路径"
  134.                     } 
  135.                 } 
  136.             } 
  137.             catch 
  138.             { 
  139.                 subDomain = domain = "不明路径"
  140.             } 
  141.         } 
  142.  
  143.         /// <summary> 
  144.         /// 分析 url 字符串中的参数信息 
  145.         /// </summary> 
  146.         /// <param name="url">输入的 URL</param> 
  147.         /// <param name="baseUrl">输出 URL 的基础部分</param> 
  148.         /// <param name="nvc">输出分析后得到的 (参数名,参数值) 的集合</param> 
  149.         public static void ParseUrl(string url, out string baseUrl, out NameValueCollection nvc) 
  150.         { 
  151.             if (url == null
  152.                 throw new ArgumentNullException("url"); 
  153.  
  154.             nvc = new NameValueCollection(); 
  155.             baseUrl = ""
  156.  
  157.             if (url == ""
  158.                 return
  159.  
  160.             int questionMarkIndex = url.IndexOf('?'); 
  161.  
  162.             if (questionMarkIndex == -1) 
  163.             { 
  164.                 baseUrl = url; 
  165.                 return
  166.             } 
  167.             baseUrl = url.Substring(0, questionMarkIndex); 
  168.             if (questionMarkIndex == url.Length - 1) 
  169.                 return
  170.             string ps = url.Substring(questionMarkIndex + 1); 
  171.  
  172.             // 开始分析参数对     
  173.             Regex re = new Regex(@"(^|&)?(\w+)=([^&]+)(&|$)?", RegexOptions.Compiled); 
  174.             MatchCollection mc = re.Matches(ps); 
  175.  
  176.             foreach (Match m in mc) 
  177.             { 
  178.                 nvc.Add(m.Result("$2").ToLower(), m.Result("$3")); 
  179.             } 
  180.         } 
  181.  
  182.         #endregion 
  183.     } 
  • 上一篇资讯: .NET页面数据验证通用类
  • 下一篇资讯: ASP.NET获取服务器信息
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师