はじめに
こんにちは、季節は秋ですがいかがお過ごしですか?僕は家で筋トレ生活です。さてMacでコマンドラインからファイルをダウンロードしたりするときにcurlというコマンドを使います。このコマンド今までオプション使わずにリダイレクトでファイルとか作ってましたがだいぶ情弱な感じなのでオプションを使うようにしました。
id:moriyoshi曰く「cURLの方がwgetより使い甲斐があるからLinuxでもパッケージ入れて使ってるよ」とのことなので僕もそうします。
使い方
自分が使うオプション一覧はこんな感じ。
オプション | 意味 |
---|---|
-O/--remote-name | リンク先のファイル名でダウンロードする |
-R/--remote-time | ファイルのタイムスタンプを保持 |
-d/--data | フォームがあってボタンを押すとアップロードが始まるような場合にこれで代用できる。nameはフォームのID |
-F/--form " |
フォームがあってボタンを押すとアップロードが始まるような場合にこれで代用できる。nameはフォームのID |
-u/--user userid:password | ユーザ認証がある場合 |
-x/--proxy | プロキシの使用 |
連番のファイルを落とす
例えば複数の画像ファイルを落としたいというときが有りますよね。その時にいちいちshell script書くのもめんどくさいのでcurlを使います。連番を指定するときはカギ括弧([ ])を使います。連番はアルファベット順も可能です。
$ curl -O http://example.com/jpeg/img[001-100[.jpg $ curl -O http://example.com/docs/file[A-Z].jpg
あるいは波括弧({ })を使ってブレース展開させることも出来ます。
$ curl -O http://example.com/jpeg/img{001,101,201}.jpg
サンプル
WebDAVでユーザ認証があるようなファイルの場合
$ curl -O -u foo:mypassword http://example.com/dav/pic[001-100].jpg
アップローダーにあるようなファイルの場合
$ curl -O -d download_pass=secretpass http://example.com/srv01/secretfile_{foo,bar,buz}.mp3