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
httplibecom.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
- Clique com o botão direito no projeto no Gerenciador de Soluções → Gerenciar Pacotes NuGet
- Vá para a aba Procurar e pesquise por
HttpLib - Selecione o pacote do autor
James Thorne (@j6mes)e clique em Instalar (versão v2.0.16.94) - 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