wcurl - オプションを覚えていなくてもダウンロードできる!curlのラッパー

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20240824 85916

コマンドラインからHTTPリクエストを送信することができるcurlは便利なツールですが、使用するために複雑なオプションを指定しなければならない場合があります。

例えばURLを指定してファイルをダウンロードしたいだけの場合でも-Oオプションを指定する必要があり、もっとシンプルに使いたいという方も多いかもしれません。

この問題を解決するためのシンプルなラッパーツール「wcurl」が公開されています。

Debian開発者のSamuel Henrique氏によって作成されたBashスクリプトで、以下のような形式で使用することができます。


wcurl [--curl-options ]... [--dry-run] [--] ...
wcurl [--curl-options=]... [--dry-run] [--] ...
wcurl -V|--version
wcurl -h|--help

例えばファイルをダウンロードする場合は、次のようにURLを指定するだけで使えます。

wcurl example.com/filename.txt

より複雑なオプション指定が必要な場合--curl-optionsでcurlのオプションを渡すこともできます。

以下具体的な使用方法です。

目次

wcurlの使用方法

wcurlはDebianパッケージが作られていて、unstableでは利用可能な状態のようです。

それ以外の環境の場合(bashとcurlが利用できる環境)、GitHubリポジトリをcloneし、その中に含まれるwcurlをパスが通ったディレクトリにコピーすれば使用することができます。

$ git clone https://github.com/curl/wcurl.git
$ sudo cp wcurl/wcurl /usr/local/bin

例えばファイルをダウンロードしたい場合、次のように実行します。

$ wcurl softantenna.com/blog

この場合、コマンドを実行したディレクトリにblogが保存されます。複数のURLを指定して同時にダウンロードすることもできます。

$ wcurl softantenna.com/blog softantenna.com/wiki

wcurlの挙動は次の通りです。

  • URLの空白をエンコードする
  • インストールされているcurlのバージョンが7.66.0以上の場合、複数のURLを並行してダウンロードする
  • リダイレクトに従う
  • 出力ファイル名を自動的に選択
  • インストールされているcurlのバージョンが7.83.0以上の場合、ファイルの上書きを避ける(--no-clobber)
  • 再試行を行う
  • ダウンロードしたファイルのタイムスタンプを、利用可能であればサーバーが提供する値に設定する
  • curlのURLグロビング・パーサーを無効にして、URLの{}と[]文字を特別扱いしないようにする

wcurl --helpを実行すると使用方法が表示されます。

S 20240824 93504

まとめ

wcurlはcurlを使いやすくするシンプルなラッパーです。Bashスクリプトで作成されているため、知識がある方ならばどのような仕組みになっているのか内容を解析するのも簡単だと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次