Gemäß den nationalen Bedingungen Chinas wird die Breitbandfreigabe durch DNS-Verschmutzung und HTTP-Abfangen stark beeinträchtigt, was zu Instabilität bei Netzwerkanfragen führt. Das IP/TCP-Protokoll ist jedoch im Allgemeinen nicht betroffen. Daher können Sie den Domänennamen zunächst in IP auflösen und speichern und in Zukunft über IP darauf zugreifen. Der Client startet und löst den Domänennamen in IP auf. Wenn dies fehlschlägt, testen Sie, ob die vorherige IP verfügbar ist, und identifizieren Sie die Authentizität der IP (wie unten). Wenn der Domänenname erfolgreich aufgelöst wurde, werden die verschlüsselten Informationen an den Server gesendet und der entschlüsselte Inhalt zurückgegeben, um die Authentizität der IP zu testen (um sicherzustellen, dass sie nicht durch DNS kontaminiert wird). Vermeiden Sie nach Möglichkeit die Verwendung des http-Protokolls und verwenden Sie ein benutzerdefiniertes Protokoll. Bei mobilen Clients können Sie sogar zuerst das Mobilfunknetz nutzen, um den Domänennamen aufzulösen, und dann Ihren eigenen WLAN-Hotspot nutzen. Die obige Methode ist nur bei unvollständiger Netzwerktrennung nach Breitbanderkennung wirksam.
Kopieren Sie den Codecode wie folgt:
import java.net.InetAddress;
import java.net.UnknownHostException;
öffentliche Klasse ParseDomainName {
InetAddress myServer = null;
InetAddress myIPaddress = null;
String domainName = null;
public ParseDomainName(String domainName) {
this.domainName = domainName;
}
öffentliche InetAddress getServerIP() {
versuchen {
myServer = InetAddress.getByName(domainName);
} Catch (UnknownHostException e) {
}
return (meinServer);
}
// IP-Adresse von LOCALHOST abrufen
öffentliche InetAddress getMyIP() {
versuchen {
myIPaddress = InetAddress.getLocalHost();
} Catch (UnknownHostException e) {
}
return (meineIP-Adresse);
}
public static void main(String[] args) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("Ihre Host-IP ist: " + pdn.getMyIP().getHostAddress());
System.out.println("Die Server-IP ist:" + pdn.getServerIP().getHostAddress());
}
}