.NET中是否有一种简单的方法可以快速获取当前协议,主机和端口?例如,如果我在以下URL上:

http://www.mywebsite.com:80/pages/page1.aspx

我需要返回:

http://www.mywebsite.com:80

我知道我可以使用Request.Url.AbsoluteUri要获取完整的URL,我知道我可以使用Request.Url.Authority要获取主机和端口,但我不确定在不解析URL字符串的情况下获取协议的最佳方法。

有什么建议么?

答案

以下(c#)代码应执行此功能

Uri uri = new Uri("http://www.mywebsite.com:80/pages/page1.aspx");
string requested = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port;

来自: stackoverflow.com