Linuxコマンド

curlで[]や{}を含む場合は--globoffを使用する

更新日:

URLに[]や{}があるとcurlでエラーになる

curlでURLに[]や{}を含むURLにアクセスしようとするとエラーになります。例えば、IPv6アドレスを含むURLはIPv6アドレスを[]で囲む必要があるので次のような形式になります。

http://[2001:DB8::2]/index.html

このURLを指定してcurlコマンドを実行すると次のようにエラーになります。

$ curl http://[2001:DB8::2]/index.html
curl: (3) [globbing] illegal character in range specification at pos X

これはcurlがグロブ機能のシンタクスとし[]と{}を使用するからです。

URLに[]や{}があるときは--globoffを使用する

上述のようにURLに[]を含む場合、[]がグロブ機能として使われていないことをcurlに教えてあげる必要があります。具体的にはcurlの-gまたは--globoffオプションを指定します。

$ curl --globoff http://[2001:DB8::2]/index.html

これで無事、グロブのエラーは無くなります。{}を含む場合も--globoffオプションを指定してあげればOKです。

-Linuxコマンド

Copyright© アナグマのモノローグ , 2024 All Rights Reserved Powered by STINGER.