curlコマンドの話




名前は可愛いカール(curl)ですが、私のことを出会う度に、毎回苦しめてくるので、私は可愛いなんて微塵も思いませんが、少しでも懐いてくれたらと思い、そのための知識を記録します。

curlコマンドとは…

curlコマンドとはサーバから、もしくはサーバへデータ転送を行うコマンドです。FTP , SFTP , LDAP , TELNETなど、多くのプロトコルに対応しています。

1番基本的な使い方は、HTTPリクエストを実施し、その内容を標準出力するといった使い方…。

基本コマンド

curl [options] [URL]

jqコマンド

curlとは関係ないですが、どのサイトでもおすすめしていたので紹介しておきます。jqコマンドはjsonをinputとして受け取り、様々な処理をした結果をアウトプットしてくれます。curlでapiを叩く時に一緒に使うと便利。データの整形もしてくれる。

オプション(基本形)

  • HTTPリクエストを実施し結果を標準出力へ
$ curl http://対象のURL
  • カンマや[]を使って範囲指定もできる
$ curl 'http://{one,two,three}.example.com
$ curl 'http://[1-3].example.com
  • 実行結果をファイルへ出力   ※often use
$ curl http://対象のURL > 出力先
$ curl -o 出力先PATH http://対象のURL
  • ファイル出力時の進捗状況を非表示にする(エラーも非表示) ※often use
$ curl -s -o 出力先PATH http://対象のURL
  • 上記でエラーは表示したい場合
$ curl -sS -o 出力先PATH http://対象のURL
  • プログレスバーで進捗率を表示
$ curl -# -O http://対象のURL
  • SSL接続で証明書エラーをスキップ
$ curl -k https://対象のURL
  • URLのファイル名でダウンロード(下記はindex.htmlで保存)
$ curl -O http://対象のURL/index.html
  • プロキシ経由でアクセスする
$ curl -x プロキシサーバ:ポート番号 --proxy-user ユーザ名:パスワード http://対象のURL
  • リダイレクトを有効にする   ※often use
$ curl -L http://対象のURL
  • ダウンロードを中断したときに再度ダウンロードを再開するとき
$ curl -C - http://対象のURL
  • HTTPメソッドの指定
$ curl -X PUT http://対象のURL

デバッグ系

  • HTTPレスポンスヘッダの取得
$ curl -I http://対象のURL
  • 詳細のログ出力(-v もしくは–verbose)
$ curl -v http://対象のURL
  • 終了ステータスのみ表示
$ curl -s http://対象のURL -o /dev/null -w '%{http_code}\n'




ABOUT US
kee
サブ4ランナー!!! ファイナンシャルプランナー&JADPメンタル心理カウンセラー&上級心理カウンセラー! 普段は食品工場で仕事をしています。ランニング大好き、料理大好き、サッカー大好き、キャンプ大好き、お酒大好き、釣り大好き、激辛大好き、読書大好き、書ききれないほどの大好きに囲まれて毎日幸せを実感しています。夢はホノルルマラソンに出ること。 座右の銘『明日死ぬかのように生きよ、永遠に生きるかのように学べ』 このブログは忘れやすい私の備忘録、私の脳の第2領域です。