comment obtenir le domaine de l'hôte à partir d'une URL de chaîne?
GetDomain a 1 entrée "URL", 1 sortie "Domaine"
Exemple 1
INPUT: http://support.domain.com/default.aspx?id=12345
OUTPUT: support.domain.com
Exemple2
INPUT: http://www.domain.com/default.aspx?id=12345
OUTPUT: www.domain.com
Exemple3
INPUT: http://localhost/default.aspx?id=12345
OUTPUT: localhost
Vous pouvez utiliser les objets Request
ou Uri
pour obtenir l'hôte de l'URL.
Utiliser Request.Url
string Host = Request.Url.Host;
Utiliser Uri
Uri myUri = new Uri("http://www.contoso.com:8080/");
string Host = myUri.Host; // Host is "www.contoso.com"
Essayez comme ça;
Uri.GetLeftPart( UriPartial.Authority )
Définit les parties d'un URI pour la méthode Uri.GetLeftPart.
http://www.contoso.com/index.htm?date=today -> http://www.contoso.com
http://www.contoso.com/index.htm#main -> http://www.contoso.com
nntp: //news.contoso.com/[email protected] -> nntp: //news.contoso.com
file: //server/filename.ext -> file: // server
Uri uriAddress = new Uri("http://www.contoso.com/index.htm#search");
Console.WriteLine("The path of this Uri is {0}", uriAddress.GetLeftPart(UriPartial.Authority));
essayez la déclaration suivante
Uri myuri = new Uri(System.Web.HttpContext.Current.Request.Url.AbsoluteUri);
string pathQuery = myuri.PathAndQuery;
string hostName = myuri.ToString().Replace(pathQuery , "");
Exemple 1
Input : http://localhost:4366/Default.aspx?id=notlogin
Ouput : http://localhost:4366
Exemple2
Input : http://support.domain.com/default.aspx?id=12345
Output: support.domain.com
La meilleure façon de procéder consiste à utiliser le champ Uri.Authority
.
Chargez et utilisez Uri comme ceci:
Uri NewUri;
if (Uri.TryCreate([string with your Url], UriKind.Absolute, out NewUri))
{
Console.Writeline(NewUri.Authority);
}
Input : http://support.domain.com/default.aspx?id=12345
Output : support.domain.com
Input : http://www.domain.com/default.aspx?id=12345
output : www.domain.com
Input : http://localhost/default.aspx?id=12345
Output : localhost
Si vous voulez manipuler Url, utiliser un objet Uri est le bon moyen de le faire. https://msdn.Microsoft.com/en-us/library/system.uri(v=vs.110).aspx
Essaye ça
Console.WriteLine(GetDomain.GetDomainFromUrl("http://support.domain.com/default.aspx?id=12345"));
Il va sortir support.domaine.com
Ou essayer
Uri.GetLeftPart( UriPartial.Authority )