De acordo com as condições nacionais da China, o compartilhamento de banda larga é seriamente afetado pela poluição do DNS e pela interceptação HTTP, causando instabilidade nas solicitações de rede. No entanto, o protocolo IP/TCP geralmente não é afetado. Portanto, você pode primeiro resolver o nome de domínio em IP e salvá-lo, e usar o IP para acessá-lo no futuro. O cliente inicia e resolve o nome de domínio em IP. Se falhar, teste se o IP anterior está disponível e identifique a autenticidade do IP (igual ao abaixo). Se o nome de domínio for resolvido com sucesso, as informações criptografadas são enviadas ao servidor e o conteúdo descriptografado é retornado para testar a autenticidade do IP (para garantir que não seja contaminado pelo DNS). Se possível, evite usar o protocolo http e use um protocolo personalizado. Para clientes móveis, você pode até usar a rede móvel para resolver primeiro o nome de domínio e depois usar seu próprio ponto de acesso WiFi. O método acima só é eficaz para desconexão incompleta da rede após detecção de banda larga.
Copie o código do código da seguinte forma:
importar java.net.InetAddress;
importar java.net.UnknownHostException;
classe pública ParseDomainName {
InetAddress meuServidor = null;
InetAddress meuIPaddress = null;
String nomeDomínio = null;
public ParseDomainName(String nomeDodomínio) {
this.domainName = nomeDodomínio;
}
public InetAddress getServerIP() {
tentar {
meuServidor = InetAddress.getByName(domainName);
} catch (UnknownHostException e) {
}
return (meuServidor);
}
//Obtém o endereço IP do LOCALHOST
public InetAddress getMyIP() {
tentar {
meuendereçoIP = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
}
return (meuendereçoIP);
}
public static void main(String[] args) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("Seu IP do host é: " + pdn.getMyIP().getHostAddress());
System.out.println("O IP do servidor é:" + pdn.getServerIP().getHostAddress());
}
}