Skip to content

curl#

curl はコマンドラインからURLのコンテンツを取得したり、サーバとのやり取りを行うためのツールです。 HTTP, FTP, SMTP などの多くのプロトコルをサポートしており、データのアップロードやダウンロード、APIのリクエストなどによく使用されます。

curl の基本的な使用方法やオプションについて説明します。

基本的な使用方法#

  1. URLのコンテンツを取得する

    curl https://www.example.com
    

  2. データをPOSTリクエストとして送信する

    curl -d "param1=value1&param2=value2" -X POST https://www.example.com/resource
    

  3. カスタムヘッダーを送信する

    curl -H "Content-Type: application/json" -X POST -d '{"key":"value"}' https://www.example.com/resource
    

主なオプション#

  • -X: HTTPリクエストメソッドを指定します(例: POST, PUT, DELETEなど)。
  • -d: POSTリクエストでデータを送信する際に使用します。
  • -H: カスタムヘッダーを追加します。
  • -I: レスポンスのヘッダー情報のみを取得します。
  • -u: ベーシック認証のユーザ名とパスワードを指定します(例: -u username:password)。
  • -o: 出力をファイルに保存します。
  • -v: 詳細な情報(verboseモード)を出力します。
  • -s: サイレントモードで、進行状況やエラーメッセージを表示しません。
  • -L: リダイレクトに従って新しい場所へ移動します。
  • -k: SSL証明書の検証をスキップします。

使用例#

いくつかの curl オプションの使用例を以下に示します。

  1. GETリクエストを送信して、結果をファイルに保存する

    curl https://www.example.com -o output.txt
    

  2. POSTリクエストを送信して、JSONデータを送る

    curl -H "Content-Type: application/json" -X POST -d '{"name":"John", "age":30}' https://www.example.com/users
    

  3. ベーシック認証を使用してリソースを取得する

    curl -u username:password https://www.example.com/secure
    

  4. リダイレクトに従って新しい場所に移動する

    curl -L https://www.example.com/redirect
    

  5. 詳細な情報を表示してリクエストとレスポンスをデバッグする

    curl -v https://www.example.com
    

  6. SSL証明書の検証をスキップしてリクエストを送信する

    curl -k https://self-signed.example.com
    

  7. レスポンスのヘッダー情報だけを表示する

    curl -I https://www.example.com
    

  8. FTPサーバからファイルをダウンロードする

    curl -u ftpuser:ftppass -O ftp://ftp.example.com/myfile.txt
    

これらの例は、curlの多くの使用シナリオの中でも基本的なものです。オプションは組み合わせて使用することができるので、特定のニーズに合わせてカスタマイズすることが可能です。