Htt请求(get,post等方式)获取重定向后的URl方法
其实这个很简单正常情况下只需要一句就行了 Header["location"]
但有时候我们需要对其进行一些特殊处理,比如你获取的URl有时候只是一个相对路径如/s,看下面的方法/s/s/e.aspx等这样的目录,而这样的URl是无法正常使用的。
所以我给大家提供一个属性可以直接提取到可用的URl。
[C#] 纯文本查看 复制代码 /// <summary>
/// 获取重定向的URl
/// </summary>
public string RedirectUrl
{
get
{
try
{
if (Header != null && Header.Count > 0)
{
if (Header.AllKeys.Any(k => k.ToLower().Contains("location")))
{
string baseurl = Header["location"].ToString().Trim();
string locationurl = baseurl.ToLower();
if (!string.IsNullOrWhiteSpace(locationurl))
{
bool b = locationurl.StartsWith("http://") || locationurl.StartsWith("https://");
if (!b)
{
baseurl = new Uri(new Uri(ResponseUri), baseurl).AbsoluteUri;
}
}
return baseurl;
}
}
}
catch { }
return string.Empty;
}
}
就是上面的方法,大家如有疑问可以回帖
在我的Httphelper框架中也是使用的同样的方法。这个大家有兴趣可以去看看http://httphelper.sufeinet.com/
|