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です。