using System; using System.Collections.Specialized; using System.Net; using System.Text; using System.Web; namespace CsharpHttpHelper.Helper { /// /// 和Url相关的帮助方法 Copyright:http://www.httphelper.com/ /// internal class HttpUrlHelper { /// /// 使用指定的编码对象将 URL 编码的字符串转换为已解码的字符串。 /// /// 指定的字符串 /// 指定编码默认为Default /// internal static string URLDecode(string text, Encoding encoding = null) { if (encoding == null) { encoding = Encoding.Default; } return HttpUtility.UrlDecode(text, encoding); } /// /// 使用指定的编码对象对 URL 字符串进行编码。 /// /// 指定的字符串 /// 指定编码默认为Default /// internal static string URLEncode(string text, Encoding encoding = null) { if (encoding == null) { encoding = Encoding.Default; } return HttpUtility.UrlEncode(text, encoding); } /// /// 将Url参数字符串转为一个Key和Value的集合 /// /// 要转为集合的字符串 /// NameValueCollection internal static NameValueCollection GetNameValueCollection(string str) { NameValueCollection result = null; try { result = HttpUtility.ParseQueryString(str); } catch { } return result; } /// /// 提取网站主机部分就是host /// /// url /// host internal static string GetUrlHost(string url) { try { return new Uri(url).Host; } catch { return string.Empty; } } /// /// 提取网址对应的IP地址 /// /// url /// 返回Url对应的IP地址 internal static string GetUrlIp(string url) { try { IPHostEntry hostByName = Dns.GetHostEntry(GetUrlHost(url)); //IPHostEntry hostByName = Dns.GetHostByName(GetUrlHost(url)); return hostByName.AddressList[0].ToString(); } catch { return string.Empty; } } /// /// 获取当前页面的URL(五个数字可选 1~5 ) /// /// 1完整url,2域名之后,3域名之后不含参数,4只有域名,5获取参数 /// public string getNowURL(int selectNO) { //string text = ""; switch (selectNO) { case 1: return HttpContext.Current.Request.Url.ToString(); case 2: return HttpContext.Current.Request.RawUrl; case 3: return HttpContext.Current.Request.Url.AbsolutePath; case 4: return HttpContext.Current.Request.Url.Host; case 5: return HttpContext.Current.Request.Url.Query; default: return HttpContext.Current.Request.Url.ToString(); } } } }