【问题标题】:Request.Headers to read GET URLRequest.Headers 读取 GET URL
【发布时间】:2014-09-28 12:12:46
【问题描述】:

我有一些代码,

    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,有没有办法让我读取标题的那部分?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    Request.UserAgent
    

    而不是

    Request.Headers["User-Agent"]
    

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多