使用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 相关文章推荐
prototype 1.5相关知识及他人笔记
Dec 16 Javascript
jquery下json数组的操作实现代码
Aug 09 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
Nov 25 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 Javascript
layui的layedit富文本赋值方法
Sep 18 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 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的开发框架的现状和展望
2007/03/16 PHP
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
Express.JS使用详解
2014/07/17 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
详谈python http长连接客户端
2017/06/12 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
报关专员求职信范文
2014/02/22 职场文书
单位实习鉴定评语
2015/01/04 职场文书
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
Golang并发工具Singleflight
2022/05/06 Golang