苏飞论坛

标题: Htt请求(get,post等方式)获取重定向后的URl方法 [打印本页]

作者: 站长苏飞    时间: 2018-2-28 08:40
标题: Htt请求(get,post等方式)获取重定向后的URl方法
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/


作者: 范范    时间: 2018-2-28 21:12
路过学习下
作者: Anonymou    时间: 2018-2-28 22:44
顶~~~




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4