Utiliser scriptcs et C# pour analyser le contenu d’une URL en .NET

Si vous me demandiez de choisir un défaut et de vous en parler, je choisirais certainement ma mémoire. Il y a des gens, comme ma conjointe, qui est capable de souvenir de recettes ou de la liste d’épicerie par coeur.

Moi, c’est le contraire.

Je n’ai pas une très bonne mémoire. Afin de pallier à ceci, je prends des notes et je m’invente des mécanismes pour me souvenir de détails. Après tout, une bonne partie de mon travail réside sur ma capacité à me remémorer ces détails et de mettre en place une solution basée sur ces détails.

Ceci étant dit, je suis très visuel. Comme dirait l’autre: on ne veut pas le savoir, on veut le voir!

Chaque fois que je dois manipuler une URL dans l’un de mes projets, j’ai toujours un trou de mémoire sur quelle propriété à utiliser pour mes fins. Certes, je sais faire la distinction entre Uri.DnsSafeHost et Uri.Scheme. Cependant, j’aime toujours avoir la certitude que ce que j’utilise est bien ce dont j’ai besoin.

La documentation MSDN sur les propriétés de la classe Uri répond au besoin. Ce n’est pas le point. Il s’avère juste que je suis un peu paresseux. Alors, qui dit développeur paresseux dit automatisation possible. C’est ainsi que je suis arrivé avec l’idée d’un script scriptcs qui exposerait les propriétés de la classe Uri pour une URL donnée.

Je suis un génie comme dirait l’autre. En même temps, c’est assez maigre comme concept. Peu importe, je le trouve bien utile!

Le code


using System;
var uri = new Uri(Env.ScriptArgs[0]);
Console.WriteLine("AbsolutePath – " + uri.AbsolutePath);
Console.WriteLine("AbsoluteUri – " + uri.AbsoluteUri);
Console.WriteLine("Authority – " + uri.Authority);
Console.WriteLine("DnsSafeHost – " + uri.DnsSafeHost);
Console.WriteLine("Fragment – " + uri.Fragment);
Console.WriteLine("Host – " + uri.Host);
Console.WriteLine("HostNameType – " + uri.HostNameType);
Console.WriteLine("IsAbsoluteUri – " + uri.IsAbsoluteUri);
Console.WriteLine("IsDefaultPort – " + uri.IsDefaultPort);
Console.WriteLine("IsFile – " + uri.IsFile);
Console.WriteLine("IsLoopback – " + uri.IsLoopback);
Console.WriteLine("IsUnc – " + uri.IsUnc);
Console.WriteLine("LocalPath – " + uri.LocalPath);
Console.WriteLine("PathAndQuery – " + uri.PathAndQuery);
Console.WriteLine("Port – " + uri.Port);
Console.WriteLine("Query – " + uri.Query);
Console.WriteLine("Scheme – " + uri.Scheme);
foreach(var segment in uri.Segments)
{
Console.WriteLine("Segment – " + segment);
}
Console.WriteLine("UserInfo – " + uri.UserInfo);
Console.ReadKey();

view raw

uri.cs

hosted with ❤ by GitHub

Trente lignes en incluant les lignes vides. Enregistrez le contenu sous un nom de fichier ayant l’extension .csx (c’est l’extension de scripts scriptcs).

Exécutez le script en utilisant la commande suivante: uri.csx — https://frenchcoding.com/2015/03/09/les-liens-de-la-semaine-edition-122/ et le tour est joué!

uri

Publicité

Auteur : Pascal Paradis

Je suis les mains et le cerveau derrière http://frenchcoding.com. Je développe des microservices chez @UbisoftMTL. Amateur de Hockey et j'aime la technologie, en général.

Laisser un commentaire

Entrer les renseignements ci-dessous ou cliquer sur une icône pour ouvrir une session :

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

%d blogueueurs aiment cette page :