ich versuche, mit einer benutzerdefinierten (vom Benutzer bereitgestellten) IP-Adresse durch die Webseite zu browsen, aber es funktioniert nicht. webBrowser1 lädt die Webseite erfolgreich, verwendet aber keine benutzerdefinierte IP-Adresse, sondern lädt die Seite mit einer echten IP-Adresse.
Bitte sagen Sie mir, wie ich das erfolgreich zum Laufen bringen kann.
das ist mein Code:
private void Form1_Load(object sender, EventArgs e)
{
IPAddress addr1 = IPAddress.Parse("192.168.1.100");
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate("www.whatismyip.com");
}
Antwort1
Es scheint, als ob Sie erhebliche Missverständnisse darüber haben, wie Programmierung im Allgemeinen (und C# im Besonderen) funktioniert und wie das IP-Protokoll (das für den Zugriff auf Websites im Internet verwendet wird) funktioniert.
Das C#-Missverständnis besteht darin, dass Sie einfach ein Objekt erstellen, das eine IP-Adresse darstellt, und erwarten, dass der Computer Ihre Gedanken liest und erkennt, was diese IP-Adresse bedeutet. Wenn so etwas möglich wäre, müssten Sie die IP-Adresse irgendwie in Ihrem Code verwenden. Das könnte ungefähr so aussehen:
webBrowser1.SourceIpAddress = addr1;
(Der obige Code funktioniert nicht, es ist nur ein hypothetisches Beispiel.)
Das IP-Missverständnis besteht darin, dass Sie Ihre IP-Adresse fälschen können und trotzdem alles weiter funktioniert. So funktioniert IP nicht. Wenn Sie eine Anfrage für eine Webseite senden, ist Ihre Adresse in dieser Anfrage enthalten. Dafür gibt es jedoch einen guten Grund: Der Empfänger Ihrer Anfrage weiß damit, wohin er seine Antwort senden soll.
Das bedeutet, dass SiekönnteIhre IP-Adresse fälschen, aber Sie würden nie eine Antwort von irgendjemandem erhalten, alle Antworten würden an die gefälschte Adresse gehen. Aus diesem Grund ist so etwas nicht sinnvoll.