从Request.Url中获取根网址的简单操作

在拼接绝对路径的网址时,经常需要从Request.Url中获取根网址(比如https://git.oschina.net),然后与相对路径一起拼接为绝对路径。

以前的做法如下:

var uri = Request.Url.Scheme + "://" + Request.Url.Host + "/userfile/img";

今天发现了更简单的方法:

var uri = Request.Url.GetLeftPart(UriPartial.Authority) + "/userfile/img";

得到的结果是:

https://git.oschina.net/userfile/img

补充:C# Request 获取Url

1、获取页面,HttpContext.Current.Request也是Request

//获取当前页面url
string myurl = System.Web.HttpContext.Current.Request.Url.ToString();

//获取上一页面url
string UrlReferrer = System.Web.HttpContext.Current.Request.UrlReferrer.ToString();

2、假设当前页完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kell

"http://"是协议名
"www.test.com"是域名
"aaa"是站点名
"bbb.aspx"是页面名(文件名)
"id=5&name=kelli"是参数

//获取 完整url (协议名+域名+站点名+文件名+参数)
string url = Request.Url.ToString();
url = "http://www.test.com/aaa/bbb.aspx?id=5&name=kelli";

//获取 站点名+页面名+参数:
string url = Request.RawUrl;
string url = Request.Url.PathAndQuery;
url= "/aaa/bbb.aspx?id=5&name=kelli";

//获取 站点名+页面名:
string url = Request.Url.AbsolutePath;
string url = Request.Path;
url= "aaa/bbb.aspx";

//获取 域名:
string url = Request.Url.Host;
url= "www.test.com";

//获取 参数:
string url = Request.Url.Query;
url= "?id=5&name=kelli";

//如果有端口的话
int port = System.Web.HttpContext.Current.Request.Url.Port;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • C# 如何解析获取Url参数值

    今天遇到一个需求,需要处理通过接口传过来的一个参数,参数内容为一个拼接好的Url地址,且该地址还会携带了一些额外的参数,包括但不限于数字,字符串,json串.样例如下: http://www.cplemom.com/?url=https://www.jb51.net/={"id":12,"name":"今天天气不错"} 现在的问题就是,我需要将url参数中的data值的json中的id修改为url参数中id的值,然后再拼接成完整的url去获取数据

  • C#使用HttpWebRequest重定向方法详解

    C# 如何使用 HttpWebRequest 重定向 1. HttpWebRequest是c#中的网络交互组件 存在与system.net 命名空间中 打开vs2017 新建一个项目 文件-新建-项目 创建一个控制台应用程序 使用HttpWebRequest,使用之前要先创建 HttpWebRequest myReq =(HttpWebRequest)WebRequest.Create(""); 发现并不识别HttpWebRequest 需要引用system.net命名空间 接下来我们

  • C#基于HttpWebRequest实现发送HTTP请求的方法分析

    本文实例讲述了C#基于HttpWebRequest实现发送HTTP请求的方法.分享给大家供大家参考,具体如下: 调用第三方API的时候要用到HttpWebRequest类发送HTTP请求,网上查阅一番后大致了解了该类的用法,现记录如下. 首先引入HttpWebRequest类,System.IO类 using HttpWebRequest using System.IO GET请求 /// <summary> /// 发送GET请求 /// </summary> /// <p

  • 从Request.Url中获取根网址的简单操作

    在拼接绝对路径的网址时,经常需要从Request.Url中获取根网址(比如https://git.oschina.net),然后与相对路径一起拼接为绝对路径. 以前的做法如下: var uri = Request.Url.Scheme + "://" + Request.Url.Host + "/userfile/img"; 今天发现了更简单的方法: var uri = Request.Url.GetLeftPart(UriPartial.Authority) +

  • js中获取键盘事件的简单实现方法

    <script type="text/javascript" language=JavaScript charset="UTF-8"> document.onkeydown=function(event){ var e = event || window.event || arguments.callee.caller.arguments[0]; if(e && e.keyCode==27){ // 按 Esc //要做的事情 } if(

  • php 从指定数字中获取随机组合的简单方法(推荐)

    例如:给定数字100,需要随机获取3个组成这个数字的组合,例如70,20,10 代码如下: <?php /** * 获取指定数字的随机数字组合 * @param Int $var 数字 * @param Int $num 组合这个数字的数量 * @return Array */ function getNumGroups($var, $num){ // 数量不正确 if($var<$num){ return array(); } $total = 0; $result = array(); f

  • Mysql在项目中相关使用方法指南(简单操作数据库)

    目录 数据库的基本概念 什么是数据库 数据库类型 传统型数据库的数据组织结构 MySQL 的基本使用 使用 SQL 管理数据库 MYSQL相关语句 使用Webstorm创建项目对Mysql数据库简单操作 安装驱动 数据库参数描述 数据池连接数据库 webstorm创建项目简单实现(增.删.查.改) 初始化 Mysql~查 Mysql~增 Mysql~改 Mysql~删 最后 数据库的基本概念 什么是数据库 数据库(Database)是用来组织.存储和管理数据的仓库. 当今世界是一个充满着数据的互

  • jQuery中获取checkbox选中项等操作及注意事项

    1. 获取checkbox的选中项 2. checkbox选项的全选 反选操作 用于测试的checkbox代码段: 复制代码 代码如下: <div>            <input type="checkbox" name="abc" value="一年级" id="in1" checked="checked" /><label for="in1">

  • 在docker容器中安装vi命令的简单操作

    在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package vim 这时候需要敲: apt-get update 这

  • Python中的错误和异常处理简单操作示例【try-except用法】

    本文实例讲述了Python中的错误和异常处理操作.分享给大家供大家参考,具体如下: #coding=utf8 print ''''' 程序编译时会检测语法错误. 当检测到一个错误,解释器会引发一个异常,并显示异常的详细信息. 在代码中添加错误检测及异常处理,只需要将代码封装在try-except语句中. try: try_suite except : except_suite ------------------------------------------------------------

  • ASP.NET中获取URL重写前的原始地址详解

    通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是重写后的地址,这虽然不影响正常使用,但从用户体验及URL统一的角度,我们更希望是重写前的地址. 之前,我们在开发中也被这个问题困扰,只能尽量通过js重定向至登录页面(通过location.href获取当前网址)或者在代码中

  • Django request.META.get()获取不到header头的原因分析

    在使用Django过程中需要开发一些API给其他系统使用,为了安全把Token等验证信息放在header头中. 如何获取: 使用request.META.get("headerkey")来获取 注意: 如果headerkey为auth-token,即headers={'auth-token':'1234'} 应该使用request.META.get("HTTP_AUTH_TOKEN")获取 headerkey中的小写转为大写,横线"-"转为下划线

  • spring mvc 实现获取后端传递的值操作示例

    本文实例讲述了spring mvc 实现获取后端传递的值.分享给大家供大家参考,具体如下: jsp页面怎么获取从后端传递过来的值? JSTL 方法获取后端传递的值 @RequestMapping("index1") public ModelAndView index1() { ModelAndView model = new ModelAndView("/Index/index"); model.addObject("msg","my

随机推荐