在JavaScript和C#中获得referer

时间:2022-03-18 05:22:38

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对象

JavaScript window.location对象