使用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了呢?如有什么疑问,也可以联系我

相关文章

  • 基于小程序请求接口wx.request封装的类axios请求

    基于小程序请求接口wx.request封装的类axios请求

    这篇文章主要介绍了基于小程序请求接口wx.request封装的类axios请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 根据分辨率不同,调用不同的css文件

    根据分辨率不同,调用不同的css文件

    根据分辨率不同,调用不同的css文件...
    2006-08-08
  • layui 监听表格复选框选中值的方法

    layui 监听表格复选框选中值的方法

    今天小编就为大家分享一篇layui 监听表格复选框选中值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • javascript ES6 Template String模板字符串使用方法

    javascript ES6 Template String模板字符串使用方法

    这篇文章主要介绍了javascript ES6 模板字符串(Template String)是增强版的字符串,用反引号(`)标识,它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量,需要的朋友可以参考下
    2023-06-06
  • 实用javaScript技术-屏蔽类

    实用javaScript技术-屏蔽类

    实用javaScript技术-屏蔽类...
    2006-08-08
  • JS+H5 Canvas实现时钟效果

    JS+H5 Canvas实现时钟效果

    这篇文章主要为大家详细介绍了JS+H5 Canvas实现时钟效果,利用JavaScript和Canvas实现简单时钟效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Bootstrap table两种分页示例

    Bootstrap table两种分页示例

    这篇文章主要为大家详细介绍了Bootstrap table两种分页示例,服务器端分页和客户端分页,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 记录一次开发微信网页分享的步骤

    记录一次开发微信网页分享的步骤

    这篇文章主要介绍了记录一次开发微信网页分享的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • JavaScript大数相加相乘的实现方法实例

    JavaScript大数相加相乘的实现方法实例

    这篇文章主要给大家介绍了关于JavaScript大数相加相乘的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • JS利用 clip-path 实现动态区域裁剪功能

    JS利用 clip-path 实现动态区域裁剪功能

    这篇文章主要介绍了JS利用 clip-path 实现动态区域裁剪功能,文中主要通过使用 box-shadow 实现,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12

最新评论