使用JavaScript和C#中获得referer

 更新时间:2014年11月14日 10:51:35   投稿:hebedich  
经常使用其他脚本语言(ASP ASP.NET PHP等)获取页面的浏览来源,今天我们来研究下使用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.jb51.net/article/57407.htm

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

相关文章

  • Javascript Web Slider 焦点图示例源码

    Javascript Web Slider 焦点图示例源码

    Slider 焦点图会在很多的网站上见到,在本文为大家详细介绍下具体的实现过程,下面的源码大家可以运行下
    2013-10-10
  • jsvascript图像处理—(计算机视觉应用)图像金字塔

    jsvascript图像处理—(计算机视觉应用)图像金字塔

    上一篇文章,我们讲解了边缘梯度计算函数,这篇文章我们来了解图像金字塔;图像金字塔被广泛用于计算机视觉应用中;图像金字塔是一个图像集合,集合中所有的图像都源于同一个原始图像,而且是通过对原始图像连续降采样获得的
    2013-01-01
  • JavaScript面试开发常用的知识点总结

    JavaScript面试开发常用的知识点总结

    这篇文章主要为大家详细总结了JavaScript面试开发常用的知识点,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • JavaScript 判断数据类型的4种方法

    JavaScript 判断数据类型的4种方法

    这篇文章主要介绍了JavaScript 判断数据类型的4种方法,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
    2020-09-09
  • IE关闭时判断及AJAX注销案例学习

    IE关闭时判断及AJAX注销案例学习

    当关闭系统时会提示:你确定要退出系统吗?退出请按'离开此页'接下来将讲解下IE关闭判断及AJAX注销,感兴趣的你可不要错过了哈,希望本例对你学习ajax有所帮助
    2013-02-02
  • 深入浅析JavaScript中with语句的理解

    深入浅析JavaScript中with语句的理解

    JavaScript 有个 with 关键字, with 语句的原本用意是为逐级的对象访问提供命名空间式的速写方式。这篇文章主要介绍了JavaScript中with语句的相关知识,感兴趣的朋友一起学习吧
    2016-05-05
  • JavaScript原型对象、构造函数和实例对象功能与用法详解

    JavaScript原型对象、构造函数和实例对象功能与用法详解

    这篇文章主要介绍了JavaScript原型对象、构造函数和实例对象功能与用法,结合实例形式分析了javascript面向对象相关原型对象、构造函数及实例对象的概念、功能与相关使用技巧,需要的朋友可以参考下
    2018-08-08
  • javascript制作坦克大战全纪录(1)

    javascript制作坦克大战全纪录(1)

    本文写作的目的是巩固一下自己最近学习的js知识, 这个教程适合熟悉js基本语法和面向对象语法的小伙伴学习。由于自己也是刚学js不久,所以难免出现错误。如果发现希望给予指正。
    2014-11-11
  • 浅析JavaScript事件和方法

    浅析JavaScript事件和方法

    本文通过示例向大家简单分析了javascript的事件和方法,文章简洁而不简单,是篇非常不错的基础文章,这里推荐给大家。
    2015-02-02
  • BootStrap3使用错误记录及解决办法

    BootStrap3使用错误记录及解决办法

    这篇文章主要介绍了BootStrap3使用错误记录及解决办法,需要的朋友可以参考下
    2016-12-12

最新评论