您可以使用-6
cURL 或 wget 中的标志来使用域的 IPv6 地址,例如google.com
.
我无法通过显式传递 IPv6 地址来获取页面。
我试过:
wget -6 http://[fe80::a00:27ff:fe00:80b9]:8080/
8080
该主机肯定在我的本地网络上通过 IPv6 运行服务器,通过netstat
和进行确认ifconfig
。当我运行上面的代码时,我得到了Connecting to fe80:a00:27ff:fe00:80b9:8080... failed: Invalid argument
.从错误消息中可以明显看出,IPv6 地址和端口没有按照我的预期进行解释。
当我谷歌时,所有示例都是使用-6
域名,找不到具有明确 IPv6 地址的示例。
答案1
这似乎是 wget 中的一个错误:https://bugs.launchpad.net/ubuntu/+source/wget/+bug/1566930
显然,wget 无法正确解析添加到链路本地 IPv6 地址的范围。
我建议为您的服务器提供实际的 IPv6 地址(公共地址),或者,如果您无法获得这些地址,则提供 ULA(唯一本地地址)。这些在没有范围标识符的情况下也可以工作,因此也可以在 wget 中工作。