Según las condiciones nacionales de China, el uso compartido de banda ancha se ve gravemente afectado por la contaminación del DNS y la interceptación de HTTP, lo que provoca inestabilidad en las solicitudes de red. Sin embargo, el protocolo IP/TCP generalmente no se ve afectado. Por lo tanto, primero puede resolver el nombre de dominio en IP y guardarlo, y utilizar IP para acceder a él en el futuro. El cliente inicia y resuelve el nombre de dominio en IP. Si falla, pruebe si la IP anterior está disponible e identifique la autenticidad de la IP (igual que a continuación). Si el nombre de dominio se resuelve con éxito, la información cifrada se envía al servidor y el contenido descifrado se devuelve para probar la autenticidad de la IP (para garantizar que no esté contaminada por DNS). Si es posible, evite utilizar el protocolo http y utilice un protocolo personalizado. Para clientes móviles, incluso puede usar la red móvil para resolver el nombre de dominio primero y luego usar su propio punto de acceso WiFi. El método anterior sólo es eficaz en caso de desconexión incompleta de la red después de la detección de banda ancha.
Copie el código de código de la siguiente manera:
importar java.net.InetAddress;
importar java.net.UnknownHostException;
clase pública ParseDomainName {
InetAddress miServidor = nulo;
InetAddress midirecciónIP = nulo;
Cadena nombre de dominio = nulo;
public ParseDomainName (String nombre de dominio) {
this.nombreDeDominio = NombreDeDominio;
}
dirección Inet pública getServerIP() {
intentar {
miServidor = InetAddress.getByName(nombreDeDominio);
} captura (UnknownHostException e) {
}
retorno (miServidor);
}
// Obtener la dirección IP de LOCALHOST
dirección Inet pública getMyIP() {
intentar {
midirecciónIP = InetAddress.getLocalHost();
} captura (UnknownHostException e) {
}
retorno (midirecciónIP);
}
público estático vacío principal (String [] argumentos) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("Su IP de host es: " + pdn.getMyIP().getHostAddress());
System.out.println("La IP del servidor es:" + pdn.getServerIP().getHostAddress());
}
}