代码之家  ›  专栏  ›  技术社区  ›  Tom

比较HTTP引用与HTTP主机

  •  0
  • Tom  · 技术社区  · 14 年前

    您好! 我需要检查HTTP引用是否与当前站点相同。

    我有以下代码

    Dim strReferer As String
    
    strReferer = Request.ServerVariables("HTTP_REFERER")
    If strReferer.Contains(Request.ServerVariables("HTTP_HOST")) then
       'do task
    End If
    

    这是一个错误,说- 对象引用未设置为对象的实例。 “并将if行标记为违规代码行。

    知道我哪里出错了吗?

    我的解决方案:

    strReferer = "" & Request.ServerVariables("HTTP_REFERER")
    

    意味着字符串总是有一个值,即使它是空的。

    2 回复  |  直到 9 年前
        1
  •  3
  •   Mark Bell    9 年前

    因为 HTTP_REFERER 不总是填充-仅当您单击了某个链接时。所以,如果您直接浏览到一个页面,那么这个标题将是空的。

        2
  •  1
  •   Mark Bell    14 年前

    有可能 Request.ServerVariables("HTTP_REFERER") 成为 null ,因此在分配变量时应该检查这一点。

    If Not String.IsNullOrEmpty(Request.ServerVariables("HTTP_REFERER"))
        'do your stuff