2016-10-25 2 views
0

J'ai reçu le message d'erreur:adresse IPv6 invalide

Une erreur se produit dans le téléchargement de fichiers depuis un serveur FTP: ftp://speedtest.tele2.net: adresse IPv6 invalide

de ces lignes:

String serverAddress = "ftp://speedtest.tele2.net"; 
FTPClient ftp = new FTPClient(); 
ftp.connect(serverAddress); 

I Je n'ai pas la moindre idée de ce qu'il faut faire à ce sujet?

Les seuls conseils que j'ai obtenus concernent ces propriétés système, mais cela n'a pas résolu le problème.

java.net.preferIPv4Stack -> true 
java.net.preferIPv6Addresses -> true 

Quelqu'un a reçu des conseils ou des références? Merci beaucoup!

+0

Oui, j'ai essayé 'System.setProperty (" java.net.preferIPv6Addresses "," faux ");' mais il n'a pas aidé. – AbsolutBeginner

Répondre

4

Le site a à la fois IPv6 et IPv4 adresses

$ dig AAAA speedtest.tele2.net -> 2a00:800:1010::1 
$ dig A speedtest.tele2.net -> 90.130.70.73 

IPv6 est généralement préféré si disponible . Mais si le serveur peut être atteint au port d'adresse IPv4 21, il ne peut pas être atteint à l'adresse IPv6, c'est-à-dire une configuration incohérente de FTP et de DNS. Le message d'erreur de Java est déroutant car ce n'est pas l'adresse IPv6 qui est mauvaise mais qui ne parvient pas à se connecter à cette adresse.

+1

Merci pour cette clarification! Cela fonctionne avec les adresses IP. – AbsolutBeginner

+2

Et si possible contacter l'administrateur de ce serveur pour leur dire que leur configuration est brisée :) –

0

Cela ne fonctionnera probablement pas, définissant cette propriété à partir du code.

Avez-vous essayé de définir la propriété comme argument de ligne de commande lors de l'exécution du programme:

java -Djava.net.preferIPv6Addresses=false -Djava.net.preferIPv4Stack=true -jar program.jar

+0

Demander l'OP s'ils ont fait quelque chose ressemble plus à un commentaire qu'à une réponse. Envisagez de reformuler "Avez-vous essayé de régler ..." sur "Essayez de régler" ou quelque chose de similaire – jonhopkins