3

如果我有 URI "http://www.test.com/something" 并且我想要 "www.test.com" 部分。我应该使用什么?(什么是最好的)

我在CHAT中问过这个问题,但没有那么幸运。

4

2 回答 2

5

坚持使用Request.Url.Authority,因此如果您的主机有另一个端口而不是80,它将显示(如果这对您很重要)。


例子:

Uri baseUri = new Uri("http://www.test.com:8888/something");
Console.WriteLine(myUri.Authority);
Console.WriteLine(myUri.Host);  

输出:

www.test.com:8888
www.test.com


如果您只想向用户显示主机部分,则无需费心DnsSafeHost。如果您需要将 IPv6 地址转换为名称解析,则可以使用http://[fe80::200:39ff:fe36:1a2d%4]/temp/example.htmfe80::200:39ff:fe36:1a2d%4

于 2012-07-25T14:26:08.743 回答
4

正如评论所述,您打算使用主机名的目的可能很重要。

一般来说,我会使用 Uri.Authority,或者组合我需要的组件。

权限提供了两个关键组件来定位服务:1)主机名 2)端口。其他两个属性只给你主机名。

例如,如果我访问的网站不是托管在默认端口上,而是例如 81 (http://example.com:81),我也想知道端口号。

于 2012-07-25T14:26:41.490 回答