Я пытаюсь просмотреть веб-страницу, используя пользовательский (предоставленный пользователем) 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 ответ1

2

Похоже, у вас есть серьезные недоразумения о том, как работает программирование в целом (и C # в частности), а также о том, как работает протокол IP (который используется для доступа к веб-сайтам в Интернете).

Недоразумение в C # заключается в том, что вы просто создаете объект, представляющий IP-адрес, и ожидаете, что компьютер прочитает ваши мысли о том, что означает этот IP-адрес. Если что-то подобное было возможно, вам нужно было бы каким-то образом использовать IP-адрес в своем коде. Это может выглядеть примерно так:

webBrowser1.SourceIpAddress = addr1;

(Приведенный выше код не будет работать, это всего лишь гипотетический пример.)

Непонимание IP заключается в том, что вы можете подделать свой IP-адрес, и все будет продолжать работать. Это не так, как работает IP. Когда вы отправляете запрос на какую-либо веб-страницу, ваш адрес содержится в этом запросе. Но для этого есть веская причина: получатель вашего запроса знает, куда отправить свой ответ.

Это означает, что вы можете подделать свой IP-адрес, но вы никогда не получите ответ от кого-либо, все ответы будут направлены на поддельный адрес. Из-за этого делать что-то подобное бесполезно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .