使用JavaScript和C#中获得referer

1. JavaScript


/**

 * 获取HTTP请求的Referer

 * @ishost 布尔类型 Referer为空时是否返回Host(网站首页地址)

 */

function get_http_referer(ishost) {

    if (ishost === undefined) { ishost = true; }

    if (document.referrer) {

        return document.referrer;

    } else {

        if (ishost) {

            return window.location.protocol + "//" + window.location.host;

        } else {

            return "";

        }

    }

}

2. C#


/// <summary>

/// 获取HTTP请求的Referer

/// </summary>

/// <param name="ishost">Referer为空时是否返回Host(网站首页地址)</param>

/// <returns>string</returns>

public string GetReferer(bool ishost)

{

    if ( Request.UrlReferrer != null)

    {

        return  Request.UrlReferrer.ToString();

    }

    else

    {

        if (ishost)

        {

            return Request.Url.Scheme + "://" + Request.Url.Authority;

        }

        else

        {

            return "";

        }

    }

}

3. C#中取得Request URL的各个部分
网址:http://localhost:1897/News/Press/Content.aspx/123?id=1#toc


Request.ApplicationPath /

Request.PhysicalPath D:\Projects\Solution\web\News\Press\Content.aspx

System.IO.Path.GetDirectoryName(Request.PhysicalPath) D:\Projects\Solution\web\News\Press

Request.PhysicalApplicationPath D:\Projects\Solution\web\

System.IO.Path.GetFileName(Request.PhysicalPath) Content.aspx

Request.CurrentExecutionFilePath /News/Press/Content.aspx

Request.FilePath /News/Press/Content.aspx

Request.Path /News/Press/Content.aspx/123

Request.RawUrl /News/Press/Content.aspx/123?id=1

Request.Url.AbsolutePath /News/Press/Content.aspx/123

Request.Url.AbsoluteUri http://localhost:1897/News/Press/Content.aspx/123?id=1

Request.Url.Scheme http

Request.Url.Host localhost

Request.Url.Port 1897

Request.Url.Authority localhost:1897

Request.Url.LocalPath /News/Press/Content.aspx/123

Request.PathInfo /123

Request.Url.PathAndQuery /News/Press/Content.aspx/123?id=1

Request.Url.Query ?id=1

Request.Url.Fragment  

Request.Url.Segments / 

News/ 

Press/ 

Content.aspx/ 

123

4. JavaScript window.location对象
https://www.nhooo.com/article/57407.htm

怎么样,是不是已经学会了在javascript和C#中获取页面的referer了呢?如有什么疑问,也可以联系我