2011-11-10 12 views
5

Estoy trabajando en un proyecto en el que queremos cambiar dinámicamente la dirección IP a la que se envían las solicitudes dentro de nuestra aplicación. Entonces, por ejemplo, la primera solicitud que enviamos a myWebsite.com va a 192.168.123.1, la segunda queremos ir a 192.168.123.5, la tercera a 192.168.123.10..NET, archivo de host de Windows, invalidar DNS a través del código

Sé que es posible lograr este tipo de funcionalidad a través del archivo de hosts de Windows ubicado en c: \ windows \ system32 \ drivers \ etc, pero esto requeriría cerrar la aplicación, cambiar el archivo y abrir la aplicación nuevamente .

¿Existen bibliotecas/técnicas de .Net disponibles que nos permitan anular dinámicamente el DNS de nuestro código?

Gracias David


que logró resolver esto. El uso de VB.NET:

Dim c As New WebClient 
    c.Headers.Add("Host", "myWebsite.com") 
    c.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2") 
    c.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") 
    c.Headers.Add("Accept-Language", "en-gb,en;q=0.5") 
    c.Headers.Add("Accept-Encoding", "0") 
    c.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7") 

    Dim s 
    s = c.DownloadString("http://192.168.123.10/index.aspx") 

Configuración del encabezado de host es decir, que la aplicación de IIS se apuntan a la solicitud. Esto nos permite tener la dirección IP en la cadena URI del objeto WebClient.

Gracias David

+0

Falsifique el encabezado. Brillante. Realmente no quería entrar en los ganchos DLL. – Patrick

+0

Parece que no funciona: el encabezado del Host se sobrescribe con el host de la URL. – Sander

Respuesta

2

que lograron resolver esto. (según mi comentario anterior).

Cuestiones relacionadas