Estoy intentando navegar por una página web utilizando una dirección IP personalizada (proporcionada por el usuario), pero no funciona. webBrowser1 carga la página web correctamente pero no utiliza una dirección IP personalizada, carga la página con una dirección IP real.
por favor dígame cómo hacer que esto funcione correctamente.
este es mi código:
private void Form1_Load(object sender, EventArgs e)
{
IPAddress addr1 = IPAddress.Parse("192.168.1.100");
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate("www.whatismyip.com");
}
Respuesta1
Parece que tiene importantes malentendidos sobre cómo funciona la programación en general (y C# en particular) y también sobre cómo funciona el protocolo IP (que se utiliza para acceder a sitios web en Internet).
El malentendido de C# es que usted simplemente crea un objeto que representa una dirección IP y espera que la computadora lea su mente sobre lo que significa esa dirección IP. Si algo como esto fuera posible, necesitaría usar la dirección IP de alguna manera en su código. Podría verse así:
webBrowser1.SourceIpAddress = addr1;
(El código anterior no funcionará, es sólo un ejemplo hipotético).
El malentendido de IP es que puedes falsificar tu dirección IP y todo seguirá funcionando. Así no es como funciona la propiedad intelectual. Cuando envía una solicitud para alguna página web, su dirección está contenida en esa solicitud. Pero hay una buena razón para ello: es para que el destinatario de su solicitud sepa dónde enviar su respuesta.
Lo que esto significa es que ustedpodríafalsificará su dirección IP, pero nunca obtendrá ninguna respuesta de nadie, todas las respuestas irán a la dirección falsificada. Por eso, hacer algo así no es útil.