无效的 IPv6 地址

invalid IPv6 address

我收到错误消息:

Error occurs in downloading files from ftp Server : ftp://speedtest.tele2.net: invalid IPv6 address

从这行开始:

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

我不知道该怎么办?

我得到的唯一建议是关于这个系统属性,但这并没有解决问题。

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

有人得到建议或参考吗? 非常感谢!

这可能行不通,从代码中设置 属性。

当运行程序

时,您是否尝试过将属性设置为命令行参数:

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

站点同时具有 IPv6 和 IPv4 地址

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

如果可用,通常首选 IPv6。 但是虽然可以通过 IPv4 地址端口 21 访问服务器,但无法通过 IPv6 地址访问服务器,即 FTP 和 DNS 的设置不一致。

来自 Java 的错误消息令人困惑,因为它实际上不是错误的 IPv6 地址,而是无法连接到该地址。

尝试使用没有"ftp://"

的地址
String serverAddress = "speedtest.tele2.net";