Apesar do crescimento dos Web Services como linguagem de comunicação via http, em muitos casos ainda temos necessidade de realizar requisições http internamente em uma aplicação para capturarmos a resposta e mostrarmos ao usuário.

Através do namespace System.Net o .NET Framework oferece duas classes para realizar estas tarefas: HttpWebRequest e HttpWebResponse. Assim, podemos realizar comunicações http de forma simples, mas com todas as ferramentas necessárias.

Este artigo mostrará como utilizar estas classes para realizar requisições http simples e mais complexas, simulando envio de dados via um formulário http, atravessando servidores proxies e autenticando em servidores com acesso restrito.

Realizando uma requisição http simples

Este exemplo realiza uma simples requisição http para um endereço Internet (uma url) e recebe a resposta desta requisição. Para isto criamos um formulário simples que solicita a url e mostra o html respondido em um textBox. O seguinte código contém o formulário que chama o método GetResponse passando os parâmetros necessários.

Note a criação do objeto httpRequest (da classe HttpWebRequest) que será o responsável por realizar a requisição http. A propriedade Url é obrigatória, sendo configurada na criação do objeto e não pode ser alterada ao longo da utilização do mesmo.


using System;
using System.Net;
using System.IO;
using System.Text;

public string GetResponse(string url)
{
string retString = String.Empty;

//Cria o request configurando a informacoes recebidas
HttpWebRequest httpRequest = (HttpWebRequest) WebRequest.Create(url);

A seguir, o objeto httpRequest é utilizado para criar uma instância da classe HttpWebResponse chamado httpResponse. Neste momento o aplicativo realiza a requisição http. Se você estiver utilizando um ...

Quer ler esse conteúdo completo? Tenha acesso completo