使用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 相关文章推荐
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
Jquery 数组操作大全个人总结
Nov 13 Javascript
JavaScript数组和循环详解
Apr 27 Javascript
JS选取DOM元素的简单方法
Jul 08 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
vue绑定设置属性的多种方式(5)
Aug 16 Javascript
JS实现全屏预览F11功能的示例代码
Jul 23 Javascript
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
React事件处理的机制及原理
Dec 03 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
Apr 04 Vue.js
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
用文本文件制作留言板提示(下)
2006/10/09 PHP
PHP读取大文件的几种方法介绍
2016/10/27 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
javascript学习笔记(十二) RegExp类型介绍
2012/06/20 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
Python的类实例属性访问规则探讨
2015/01/30 Python
Python分支结构(switch)操作简介
2018/01/17 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python zip()函数用法实例分析
2018/03/17 Python
python实现简单登陆流程的方法
2018/04/22 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
建筑专业毕业生推荐信
2013/11/21 职场文书
十八届三中全会宣传方案
2014/02/21 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
小爸爸观后感
2015/06/15 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
经销商会议开幕词
2016/03/04 职场文书
vue前端工程的搭建
2021/03/31 Vue.js
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库