gpt4 book ai didi

.NET - 获取协议(protocol)、主机和端口

转载 作者:行者123 更新时间:2023-12-02 11:43:51 30 4
gpt4 key购买 nike

.NET中有没有一种简单的方法可以快速获取当前的协议(protocol)、主机和端口?例如,如果我访问以下 URL:

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

我需要返回:

http://www.mywebsite.com:80

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

有什么建议吗?

最佳答案

尽管 @Rick 已经接受了这个问题的答案,但实际上还有一种更短的方法可以做到这一点,即使用名称不佳的 Uri.GetLeftPart()方法。

Uri url = new Uri("http://www.mywebsite.com:80/pages/page1.aspx");
string output = url.GetLeftPart(UriPartial.Authority);

但是,GetLeftPart() 有一个问题。如果该端口是该方案的默认端口,则会将其删除。由于端口 80 是 http 的默认端口,因此上面示例中的 GetLeftPart() 的输出将为 http://www.mywebsite.com

如果端口号不是 80,它将包含在结果中。

关于.NET - 获取协议(protocol)、主机和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com