使用JavaScript和C#中获得referer


Posted in Javascript onNovember 14, 2014

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://3water.com/article/57407.htm

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

Javascript 相关文章推荐
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
jquery自动填充勾选框即把勾选框打上true
Mar 24 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
JS实现的验证身份证及获取地区功能示例
Jan 16 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
Sep 21 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
May 08 Javascript
JS实现的RC4加密算法示例
Aug 16 Javascript
React+Antd+Redux实现待办事件的方法
Mar 14 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
原理深度解析Vue的响应式更新比React快
Apr 04 Javascript
JavaScript window.location对象
Nov 14 #Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 #Javascript
详谈JavaScript内存泄漏
Nov 14 #Javascript
js与C#进行时间戳转换
Nov 14 #Javascript
jquery ui bootstrap 实现自定义风格
Nov 14 #Javascript
使用node.js 制作网站前台后台
Nov 13 #Javascript
JavaScript 作用域链解析
Nov 13 #Javascript
You might like
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
js 提交和设置表单的值
2008/12/19 Javascript
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
利用函数的惰性载入提高javascript代码执行效率
2014/05/05 Javascript
angularJS 入门基础
2015/02/09 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
node.js中express-session配置项详解
2017/05/31 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python如何实现文本转语音
2016/08/08 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
使用python模拟命令行终端的示例
2019/08/13 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Python Lambda函数使用总结详解
2019/12/11 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
python 基于opencv实现图像增强
2020/12/23 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
2015年科室工作总结
2015/04/10 职场文书
Golang 遍历二叉树
2022/04/19 Golang