Я пытаюсь просмотреть веб-страницу, используя пользовательский IP-адрес, но это не работает. webBrowser1 успешно загружает веб-страницу, но он не использует пользовательский IP-адрес, он загружает страницу с реальным IP-адресом.
пожалуйста, скажите мне, как сделать так, чтобы это работало успешно.
вот мой код:
private void Form1_Load(object sender, EventArgs e)
{
IPAddress addr1 = IPAddress.Parse("192.168.1.100");
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate("www.whatismyip.com");
}
решение1
Похоже, у вас возникли существенные недопонимания относительно того, как работает программирование в целом (и C# в частности), а также относительно того, как работает протокол IP (который используется для доступа к веб-сайтам в Интернете).
Недоразумение C# заключается в том, что вы просто создаете объект, представляющий IP-адрес, и ожидаете, что компьютер прочтет ваши мысли о том, что означает этот IP-адрес. Если бы что-то подобное было возможно, вам нужно было бы как-то использовать IP-адрес в вашем коде. Это могло бы выглядеть примерно так:
webBrowser1.SourceIpAddress = addr1;
(Приведенный выше код не будет работать, это всего лишь гипотетический пример.)
Недоразумение с IP заключается в том, что вы можете подделать свой IP-адрес, и все будет продолжать работать. IP работает не так. Когда вы отправляете запрос на какую-то веб-страницу, ваш адрес содержится в этом запросе. Но для этого есть веская причина: это для того, чтобы получатель вашего запроса знал, куда отправить свой ответ.
Это означает, что вымогподделать свой IP-адрес, но вы никогда не получите ни от кого ответа, все ответы будут идти на поддельный адрес. Из-за этого делать что-то подобное бесполезно.