Request.Headers读取GET URL

时间:2014-08-05 18:05:39

标签: c# asp.net http-headers response-headers

我有一些代码,

    if (Request.Headers["User-Agent"] == "Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)")
    {
        this.Response.Redirect("/_windows/default.aspx?" + qp.ToString());
    }
    else if(Request.Headers["GET"].Contains("SignOut.aspx") ) {
        this.Response.Redirect("/_layouts/signout.aspx");
    }
    else
    {
        this.Response.Redirect("/_trust/default.aspx?trust=ADFS%20DEV&" + qp.ToString());
    }

问题是我的else if无效,因为Request.Headers无法读取" GET",每个Microsoft http://msdn.microsoft.com/。我想知道GET url何时包含SignOut.aspx,有没有办法让我读取标题的那一部分?

1 个答案:

答案 0 :(得分:1)

看起来您正在寻找HttpRequest.Url,您可以通过Request.Url从Request对象访问:

...
else if (Request.Url.AbsoluteUri.Contains("SignOut.aspx"))
{
    //Whatever
}
...

此外,您可能希望更多地了解框架为处理请求提供的内容 - 您正在以艰难的方式做事并重新发明轮子。考虑使用

Request.UserAgent

而不是

Request.Headers["User-Agent"]