如何获得完整的域名与HTTP类型(HTTP或https)的一个链接在asp.net

本文关键字:HTTP 一个 链接 net asp 何获得 https 域名 类型 | 更新日期: 2023-09-27 18:17:24

我的asp.net应用程序将分发给不同的用户。它应该自动检索链接的域和http类型。

例如:

  1. http://abc.com/test.aspx
  2. https://abc.com/test2.aspx

我需要一个方法来检索:http://abc.com和https://abc.com从这些链接自动。

我该怎么做呢?

提前感谢。

如何获得完整的域名与HTTP类型(HTTP或https)的一个链接在asp.net

您可以从您的完整url构建Uri并构建您的新url。

public string GetRootUrl(string url)
{
   Uri uri = new Uri(str);
   return string.Format("{0}://{1}", uri.Scheme, uri.Authority);
}

但是,您可以使用uri.Host,但是在任何部署情况下,您将在http://abc.com:8087等端口上托管应用程序,那么uri.Host将只返回abc.com, uri.Authority将返回abc.com:8087。默认端口80将被uri.Authority忽略,并像uri.Host一样工作。

string getSchemeAndHost(string str)
{
   var uri = new Uri(str);
   return uri.Scheme + "://" + uri.Host;
}