localhost – ipv6 ベースのループバックに ::1 を使って curl を使うには?

curl ipv6 localhost loopback

いくつかの方法を試してみましたが、カールを紛らわせているようです

root@testt:~# curl localhost:8080
<h1>Hello world!</h1>

<p>Boom Bam Splat</p>
root@testt:~# curl ::1:8080
curl: (3) IPv6 numerical address used in URL without brackets
root@testt:~# curl [::1]:8080
curl: (3) [globbing] bad range specification in column 2

  34  hak8or  2015-03-05


ベストアンサー

一般的なエラーの提案と内訳を見てみると、このブログ記事では、おそらくあなたはこれを試してみてください

curl -g -6 "http://[::1]:8080/"

-gがこれを動かす魔法の鍵になっているようです。curl の man ページで説明されているように

このオプションは、「URL グロッビングパーサ」をオフにします。このオプションを設定すると、{}[] という文字を含む URL を curl 自体で解釈されずに指定することができます。これらの文字は通常の法的な URL コンテンツではなく、URI 標準に従ってエンコードされている必要があることに注意してください

そして、-6はIPv6のみを利用するという意味です

libcurl がアドレスを複数の IP バージョンに解決できる場合 (IPv6 に対応している場合はそうなります)、このオプションは、IPv6 アドレスのみに名前を解決するように libcurl に指示します

しかし、その機能の説明を読むと、純粋なIPv6アドレスには-6は本当に必要ないように思えます。ただ、注意すべきことがあります

50  Giacomo1968  2015-03-05


curl –manual」から、こんなのが出てきました

curl -g "http://[2001:1890:1112:1::20]/"

or

curl "http://[2001:1890:1112:1::20]/"

ということで、お尋ねのアドレスについては、試してみてください

curl -g "http://[::1]:8080/"

ただし、走った方がいいかもしれません

curl -V

で、「Features」と書かれた行(3行目、ワードラッピングからの余分な行は数えない)にIPv6が表示されるかどうかを確認してみてください。私のバージョンでは表示されていませんでした。cURLダウンロードページには、Microsoft Windows用のcurl 7.41.0ダウンロードサイト(現在の最新版)など、OS用の様々なリンクがあります。そのページには複数の実行ファイル(Microsoft Windowsで利用可能)があり、私が見つけた最初のものはIPv6に対応していませんでした。しかし、”ipv6-sspi-spnego-winssl “と記載されている2つの実行ファイル(x86用とx64用)は、IPv6に対応していました。なので、どのパッケージをダウンロードするかは注意が必要です

8  TOOGAM  2015-03-05


タイトルとURLをコピーしました