web-dev-qa-db-ja.com

明示的なIPv6アドレスをwgetおよびcURL

CURLまたはwgetで-6フラグを使用して、google.comのようなドメインのIPv6アドレスを使用できます。

IPv6アドレスを明示的に渡してページを取得できませんでした。

私は試した:

wget -6 http://[fe80::a00:27ff:fe00:80b9]:8080/

そのホストは間違いなくnetstatifconfigで確認されたローカルネットワーク上のIPv6を介して8080でサーバーを実行しています。上記を実行すると、Connecting to fe80:a00:27ff:fe00:80b9:8080... failed: Invalid argumentが表示されます。エラーメッセージから、IPv6アドレスとポートが期待どおりに解釈されないことは明らかです。

グーグルで検索すると、すべての例は-6とドメイン名を使用するためのものであり、明示的なIPv6アドレスを持つ例を見つけることができませんでした。

2
Juicy

これはwgetのバグのようです: https://bugs.launchpad.net/ubuntu/+source/wget/+bug/15669

どうやら、wgetはリンクローカルIPv6アドレスに追加されたスコープを正しく解析しません。

サーバーに実際のIPv6アドレスを与えることをお勧めします。パブリックアドレスか、取得できない場合はULA(一意のローカルアドレス)のいずれかです。これらはスコープ識別子なしで機能するため、wgetでも機能します。

3
Florian Bach