2009-08-13 5 views

Répondre

9

Que diriez-vous:

new Uri(url).Host 

Par exemple:

using System; 

class Test 
{ 
    static void Main() 
    { 
     Uri uri = new Uri("http://www.test.com/SomeOther/Test/Test.php?args=1"); 
     Console.WriteLine(uri.Host); // Prints www.test.com 
    } 
} 

Vérifiez les docs pour le constructor taking a string et the Host property.

Notez que si ce n'est pas une source de données « de confiance » (il pourrait être invalide), vous pouvez utiliser Uri.TryCreate:

using System; 

class Test 
{ 
    static void Main(string[] args) 
    { 
     Uri uri; 
     if (Uri.TryCreate(args[0], UriKind.Absolute, out uri)) 
     { 
      Console.WriteLine("Host: {0}", uri.Host); 
     } 
     else 
     { 
      Console.WriteLine("Bad URI!"); 
     } 
    } 
} 
+0

Brillant exactement ce dont j'avais besoin, je ne peux pas croire que j'ai manqué cela. – RC1140

0
this.Request.Url.Host 

Les autres propriétés de cette classe seront de intérêt.

+0

"Aussi l'URL/lien ne sera pas la page actuelle sur laquelle je suis." – MPritchard

0

utilisant l'expression rationnelle obtenir le contenu entre http: // et premier/après cette.

+0

Aussi si vous allez de la manière Regex assurez-vous d'exclure les sous-domaines, si vous voulez :) – akif

+0

Je suppose qu'il veut sous-domaine, en fait même www est un sous-domaine de test.com –

Questions connexes