Introducción

Breve introducción a HttpLib (C# .NET Framework)

1. Descripción de la biblioteca

HttpLib (autor James Thorne) es una biblioteca auxiliar para peticiones HTTP de .NET distribuida bajo la licencia Apache 2.0. Simplifica las peticiones de red asíncronas, admite subida de archivos y descarga de páginas web y emplea un estilo de llamadas encadenadas.

Aviso: No la confunda con las bibliotecas homónimas de C++ httplib y com.daniyarkaliyev.httplib. Debe instalar el paquete correcto: HttpLib

Si no instala el paquete, el código no podrá reconocer el tipo Http.

2. Pasos de instalación

  1. Haga clic derecho sobre su proyecto en el Explorador de soluciones → Administrar paquetes NuGet
  2. Cambie a la pestaña Examinar y busque HttpLib
  3. Seleccione el paquete del autor James Thorne (@j6mes) y pulse Instalar (versión v2.0.16.94)
  4. Espere a que la ventana de salida confirme que la instalación finalizó

3. Importar HttpLib

1. Falta la referencia del espacio de nombres

Debe agregar esta línea al principio del código fuente:

using HttpLib;

Sin esta línea, Http.Get() mostrará inmediatamente una línea ondulada roja de error.

Normalmente, después de instalar mediante el gestor NuGet, la referencia se agrega automáticamente al proyecto, no hace falta añadirla manualmente.

2. Ejemplo de código
using System;
using HttpLib; // referencia indispensable

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Http.Get("https://archive.codeplex.com/?p=httplib")
                .OnSuccess(result =>
                {
                    Console.Write(result);
                })
                .Go();

            Console.ReadKey();
        }
    }
}Lenguaje del código: JavaScript (javascript)

Algunos sitios web bloquean peticiones de rastreo, lo que puede generar errores; además es posible que el sitio ya no esté disponible.

An unhandled exception of type «System.Net.WebException» occurred in JumpKick.HttpLib.dll

Si aparece este error, compruebe desde el navegador si la página web es accesible. Si no lo es, sustitúyala por otro dominio.

4. Explicación de la sintaxis

Http.Get("url")               // crear petición GET
.OnSuccess(result => {})      // callback al éxito, result = texto devuelto por la página
.Go();                        // ejecutar petición asíncronaLenguaje del código: JavaScript (javascript)
  • .Go(): inicia la petición de red asíncrona sin bloquear el hilo principal
  • Ampliación: use .OnError() para capturar excepciones de red
Http.Get("https://example.com")
.OnSuccess(res=>Console.WriteLine(res))
.OnError(ex=>Console.WriteLine("Petición fallida: "+ex.Message))
.Go();Lenguaje del código: JavaScript (javascript)

La dirección de prueba de los ejemplos ya no funciona, al ejecutar el código la petición fallará. Se recomienda usar esta dirección: https://httpbin.org/html

6. Ejemplo completo

using System;
using HttpLib;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // usar una dirección de prueba operativa
            Http.Get("https://httpbin.org/html")
                .OnSuccess(result =>
                {
                    Console.WriteLine("Petición satisfactoria:");
                    Console.Write(result);
                })
                .OnError(err =>
                {
                    Console.WriteLine("Excepción en la petición: " + err.Message);
                })
                .Go();

            Console.WriteLine("Petición asíncrona enviada, pulse cualquier tecla para salir");
            Console.ReadKey();
        }
    }
}Lenguaje del código: JavaScript (javascript)

Si sigue viendo marcas rojas después de copiar el código y agregar using HttpLib;, puedo indicarle cómo borrar la caché de NuGet y reinstalar el paquete.

Nota

httpbin.org es un servicio de pruebas HTTP gratuito y de código abierto, creado por el autor de la biblioteca Python requests, pensado especialmente para depurar peticiones HTTP.

/html es una de sus rutas de API disponibles.

Resultado al acceder

Al abrir el enlace devuelve directamente un documento HTML básico:

Introducción

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *