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

作者:冬冬冬冬冬冬冬冬冬冬 时间:2022-04-18 04:44:40 

在拼接绝对路径的网址时,经常需要从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;

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

来源:https://blog.csdn.net/chaoyangzhixue/article/details/54985547

标签:Request,Url,网址
0
投稿

猜你喜欢

  • Java调用第三方http接口的常用方式总结

    2023-11-06 22:47:24
  • SpringMVC 参数绑定相关知识总结

    2022-06-05 12:50:54
  • Spring使用三级缓存解决循环依赖的问题

    2023-03-14 09:06:15
  • Java使用FileInputStream流读取文件示例详解

    2021-05-26 00:57:58
  • Java栈和基础队列的实现详解

    2023-07-02 05:36:59
  • 聊聊Spring AOP @Before @Around @After等advice的执行顺序

    2022-10-27 18:14:20
  • Android开发手册TextInputLayout样式使用示例

    2023-10-16 11:03:12
  • C# Timer控件学习之使用Timer解决按钮幂等性问题

    2021-07-07 11:26:09
  • 读取xml文件中的配置参数实例

    2023-10-16 16:20:41
  • Spring中自动装配的4种方式

    2021-08-01 16:44:41
  • Android入门之实现自定义Adapter

    2021-09-30 17:34:10
  • c# 实现语音聊天的实战示例

    2021-11-18 06:29:20
  • Javaweb mybatis接口开发实现过程详解

    2022-03-11 22:02:21
  • Mybatis Lombok使用方法与复杂查询介绍

    2023-03-30 00:30:13
  • Spring 应用中集成 Apache Shiro的方法

    2023-02-18 05:44:55
  • java打印菱形及直角和等腰三角形的方法

    2023-01-08 20:46:55
  • 在Spring使用iBatis及配置讲解

    2021-07-06 20:07:39
  • Windows系统中使用C#编写蓝牙通信程序的简单实例

    2022-03-02 00:12:10
  • Android自定义View绘制的方法及过程(二)

    2023-05-02 14:42:17
  • C#将dll打包到程序中的具体实现

    2022-11-22 16:39:34
  • asp之家 软件编程 m.aspxhome.com