Utilizando las clases Uri y HTTPUtility para obtener los elementos de una URL

Recuerdo los tiempos cuando para obtener algunos elementos de una URL como el nombre del Archivo o el Query String trabajabamos manipulador de cadenas que separaba por “/”, “?”…. y bueno, olvidemos eso.

La .NET Framework nos provee 2 herramientas Uri y el método ParseQueryString de la  HttpUtility cuyos detalles de documentación se encuentran acá:

Demos una vista a la Uri Class, para esta clase debemos tener el namespace System incluido en nuestra clase. Luego de instanciarla pasando con el constructor el URL con el que vamos a trabajar, tenemos ya las diferentes partes accesibles por medio de atributos del objeto.

    var uri = new Uri(url);
    Debug.Write(uri.AbsolutePath);
    Debug.Write(uri.AbsoluteUri);
    Debug.Write(uri.Query);
    Debug.Write(uri.Host);
    Debug.Write(uri.Port);

Y ahora HttpUtility.ParseQueryString, este método es estático asi que podemos utilizarlo con habilitar el namespace System.Web

using System.Web;

//…class structure

        NameValueCollection qryStringCollection = HttpUtility.ParseQueryString(“a=1&b=2&c=3”);
        Response.Write(qryStringCollection["a"]); // escribirá 1
        Response.Write(qryStringCollection["b"]); // escribirá 2
        Response.Write(qryStringCollection["c"]); // escribirá 3

como verán el método retorna una “NameValueCollection” cuyo comportamiento es como un diccionario (llave, valor).

Comparte Este Post:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • FriendFeed

About fboiton

I'm a Software Developer specialized in Web Solutions for Large Scale and High Availability Applications, with more than 8 years of experience in Web Applications development. Software Architecture, Team Management and Continous Improvement are my bigger interests. Specialties ASP.NET, SQL Server, Web Development in general, Linux Servers, Software Architecture, Team Management.
This entry was posted in Desarrollo de Software and tagged , , , , . Bookmark the permalink.

Leave a Reply