Recuperando elementos web con WebRequest a través de un proxy y validación básica en destino.

Imaginate que quieres acceder a un gráfico (gif, bmp, etc …) alojado en un servidor externo a tu red local. En nuestro ejemplo son gráficos estadísticos que nos genera nuestro proveedor de internet, al cual hay que acceder mediante una validación. A parte, disponemos de un servidor proxy en nuestra empresa para acceder a internet, que tambien requiere validación.

En este escenario, la menera más sencilla (por supuesto utilizando .NET), es utilizar los objetos NetworkCredential, WebProxy y HttpWebResponse, para recuperar el gráfico deseado.

¿Como lo hacemos?

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
 
namespace TestWebRequest
{
class Program
{
static void Main(string[] args)
{
WebRequest request = WebRequest.Create("http://url_a_nuestro_proveedor/fichero_a_recuperar");

// establecemos las credenciales para el servidor ISA SERVER
NetworkCredential credentials = new NetworkCredential("usuario", "password","dominio.com");
//creamos el objeto proxy que nos permitira acceder a internet
System.Net.WebProxy proxy = new System.Net.WebProxy("nuestro.servidorisa.com",8080);

proxy.Credentials = credentials; //asignamos las credenciales al objeto proxy

request.Proxy = proxy; //asignamos el proxy al objeto WebRequest.

// Credenciales para acceder a nuestro proveedor de internet
NetworkCredential reqCredentials = new NetworkCredential("usuario", "password");
request.Credentials = reqCredentials; // asignamos las credenciales.

WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(stream);

Console.Write(streamReader.ReadToEnd());

Console.Read();
}
}
}

Si nuestra aplicación es de tipo web, tambien podemos indicar el servidor Proxy en el fichero Web.Config de nuestra aplicación web, de esta manera:

<configuration>
  <system.net>
    <defaultProxy>
      <proxy usesystemdefault="True"
        proxyaddress="<a ref="http://nuestro_servidor_proxy:8080/">http://nuestro_servidor_proxy:8080</a>"
        bypassonlocal="True">
    </defaultProxy>
  </system.net>
</configuration>
Anuncios

Una respuesta to “Recuperando elementos web con WebRequest a través de un proxy y validación básica en destino.”

  1. Juan Carlos gracias ante mano, con este tema de “Recuperando elementos web con WebRequest a través de un proxy y validación básica en destino.” me ayudaste a aterrizar.

    Saludos Ariel

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: