Home
603 words
3 minutes
【Unix】curlの解説
2025-02-24

最終更新:2025-02-24

概要#

curlコマンドは、インターネット上のデータを取得したり送信したりするためのツールである。HTTP、HTTPS、FTPなど、様々なプロトコルに対応しており、APIの利用やファイルダウンロードに便利である。

使用方法は以下の通りである。

curl [オプション] [URL]

オプション一覧とハンズオン#

1. -o (出力ファイルを指定)#

  • 機能: ダウンロードしたデータを指定したファイルに保存する。

  • 使用例:

    curl -o output.html http://example.com
    

    上記例では、http://example.comの内容をoutput.htmlに保存する。

  • 出力例: ファイルoutput.htmlに取得したHTMLデータが保存される。

2. -O (URLからファイル名を自動取得)#

  • 機能: ダウンロードしたデータをURLから自動的に取得したファイル名で保存する。

  • 使用例:

    curl -O http://example.com/file.txt
    

    上記例では、http://example.com/file.txtの内容をローカルにfile.txtという名前で保存する。

  • 出力例: ファイルfile.txtに取得したデータが保存される。

3. -L (リダイレクトを追跡)#

  • 機能: HTTPリダイレクトを自動的に追跡する。

  • 使用例:

    curl -L http://example.com
    

    上記例では、リダイレクトが発生しても最終的なURLの内容を取得する。

  • 出力例: リダイレクト先の最終ページのデータが表示される。

4. -I (ヘッダ情報のみ取得)#

  • 機能: HTTPヘッダ情報のみを取得する。

  • 使用例:

    curl -I http://example.com
    

    上記例では、http://example.comのヘッダ情報のみを表示する。

  • 出力例:

    HTTP/1.1 200 OK
    Date: Mon, 24 Feb 2025 03:05:10 GMT
    Content-Type: text/html; charset=UTF-8
    ...
    

5. -d (データを送信)#

  • 機能: 指定したデータをPOSTリクエストとして送信する。

  • 使用例:

    curl -d "name=John&age=30" http://example.com/form
    

    上記例では、nameageのデータをPOSTとして送信する。

  • 出力例: サーバからのレスポンスが表示される。

6. -H (ヘッダを追加)#

  • 機能: リクエストにカスタムヘッダを追加する。

  • 使用例:

    curl -H "Authorization: Bearer token" http://example.com
    

    上記例では、Authorizationヘッダを追加してリクエストを送信する。

  • 出力例: サーバからのレスポンスが表示される。

7. -u (ユーザ認証)#

  • 機能: HTTPの基本認証を行う。

  • 使用例:

    curl -u username:password http://example.com
    

    上記例では、usernamepasswordを用いて認証を行う。

  • 出力例: 認証が成功すれば、サーバからのレスポンスが表示される。


パイプ処理でのハンズオン#

curlコマンドを使ったパイプ処理の例を示す。curlで取得したデータをgrepでフィルタリングする。

curl -s http://example.com | grep "Example"
  • 上記例では、curlで取得したHTMLデータからExampleという単語を含む行を表示する。
  • 出力例:
    <title>Example Domain</title>
    <h1>Example Domain</h1>
    
【Unix】curlの解説
https://ss0832.github.io/posts/20250224_curl_command_guide/
Author
ss0832
Published at
2025-02-24