Apresentação

Breve apresentação da HttpLib (C# .NET Framework)

1. Visão geral da biblioteca

HttpLib (autor James Thorne) é uma biblioteca auxiliar para requisições HTTP do .NET, licenciada sob a Apache 2.0. Ela simplifica requisições de rede assíncronas, suporta upload de arquivos e download de páginas web e segue o estilo de chamadas encadeadas.

Atenção: Não confunda com as bibliotecas de C++ de mesmo nome httplib e com.daniyarkaliyev.httplib. Você precisa instalar exatamente o pacote: HttpLib

Sem a instalação do pacote, o código não conseguirá localizar o tipo Http.

2. Passos de instalação

  1. Clique com o botão direito no projeto no Gerenciador de Soluções → Gerenciar Pacotes NuGet
  2. Vá para a aba Procurar e pesquise por HttpLib
  3. Selecione o pacote do autor James Thorne (@j6mes) e clique em Instalar (versão v2.0.16.94)
  4. Aguarde a janela de saída sinalizar o fim da instalação

3. Importando a HttpLib

1. Referência de namespace faltando

É obrigatório adicionar essa linha no topo do código‑fonte:

using HttpLib;

Sem essa linha, o trecho Http.Get() exibirá um risco ondulado vermelho de erro.

Na maioria dos casos, após instalar pelo gerenciador NuGet, a referência é adicionada automaticamente ao projeto, não sendo necessária a adição manual.

2. Exemplo de código
using System;
using HttpLib; // importação essencial

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();
        }
    }
}Code language: JavaScript (javascript)

Alguns sites bloqueiam requisições de raspagem, o que pode gerar erros. Além disso, o endereço alvo pode estar fora do ar.

An unhandled exception of type “System.Net.WebException” occurred in JumpKick.HttpLib.dll

Caso esse erro apareça, teste o acesso ao site pelo navegador. Se ele não abrir, substitua por outro domínio válido.

4. Explicação da sintaxe

Http.Get("url")               // cria requisição GET
.OnSuccess(result => {})      // callback de sucesso, result = texto retornado pela página
.Go();                        // executa requisição assíncronaCode language: JavaScript (javascript)
  • .Go(): dispara a requisição de rede assíncrona sem bloquear a thread principal
  • Recurso extra: use .OnError() para capturar exceções de rede
Http.Get("https://example.com")
.OnSuccess(res=>Console.WriteLine(res))
.OnError(ex=>Console.WriteLine("Requisição falhou: "+ex.Message))
.Go();Code language: JavaScript (javascript)

O endereço de teste usado nos exemplos não está mais ativo, o código vai retornar falha na execução. Recomenda‑se trocar para: https://httpbin.org/html

6. Exemplo completo

using System;
using HttpLib;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // utilize um endereço de teste funcional
            Http.Get("https://httpbin.org/html")
                .OnSuccess(result =>
                {
                    Console.WriteLine("Requisição bem‑sucedida:");
                    Console.Write(result);
                })
                .OnError(err =>
                {
                    Console.WriteLine("Exceção na requisição: " + err.Message);
                })
                .Go();

            Console.WriteLine("Requisição assíncrona enviada, pressione qualquer tecla para sair");
            Console.ReadKey();
        }
    }
}Code language: JavaScript (javascript)

Se o código continuar mostrando marcações vermelhas mesmo após colar o trecho e adicionar using HttpLib;, posso lhe mostrar os passos para limpar o cache do NuGet e reinstalar o pacote.

Observação

httpbin.org é um serviço de teste HTTP gratuito e open‑source, criado pelo autor da biblioteca Python requests, feito especialmente para depurar requisições HTTP.

/html é um dos caminhos de API disponíveis nesse serviço.

Comportamento ao acessar

Ao abrir o link, ele retorna diretamente um documento HTML básico:

Apresentação

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *