0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【超初心者】curl コマンド ってなんぞや

Posted at

はじめに

paizaラーニングでPHPをはじめ、WEB開発を独学中です。

#03:curlコマンドで、Web APIを呼び出そう
https://paiza.jp/works/web_tech/primer/beginner-webtech3/10603
の中で紹介されている

curl コマンド 使い方メモ - Qiita
https://qiita.com/yasuhiroki/items/a569d3371a66e365316f
↑の記事を読んで疑問に思った箇所について調べた忘備録です。

そもそもcurlコマンドってなんぞや

curl は、コマンドラインで使えるツールで、ウェブ上のサーバーとデータのやり取りをするためのものです。例えば、インターネット上のページやAPI(アプリケーションプログラミングインターフェース)から情報を取得したり、データを送信することができます。

よく使うシーン

  • ウェブサービスのAPIにデータを送信したり、データを取得したいとき。
  • ウェブページやファイルをダウンロードしたいとき。
  • HTTPのリクエストやレスポンスの内容を確認してデバッグするとき。

基本的な使い方

curl [オプション] [URL]

ここで、URL はアクセスしたいウェブページやAPIのアドレスを指定します。

具体例

ウェブページの内容を取得 以下のコマンドで、指定されたURLの内容を取得できます。例えば、Googleのトップページを取得する場合:

curl https://www.google.com

実行すると、ウェブページのHTMLソースコードが表示されます。

よく使うオプション

-o [filename]:ファイルのダウンロード

ファイルのダウンロード -O オプションを使うと、指定したURLからファイルをダウンロードできます。例えば、画像ファイルをダウンロードする場合:

curl -O https://example.com/image.jpg

このコマンドを実行すると、カレントディレクトリ(今いるフォルダ)に image.jpg が保存されます。

-I [URL]:ヘッダー情報の取得

-Iオプションを使うと、ページのコンテンツではなくヘッダー情報だけを取得できます。これは、サーバーがどのような情報を返しているかを確認するために役立ちます。

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

実行すると、HTTPステータスやサーバーの種類、コンテンツタイプなどが表示されます。

-X POST -d[data][URL]:

POSTリクエストの送信 フォームやAPIにデータを送信したいときは、-X POST-d オプションを使って、POSTリクエストを送ることができます。例えば、APIにデータを送る場合:

curl -X POST -d "name=John&age=30" https://example.com/api

このコマンドは、name=John と age=30 というデータを指定されたAPIに送信します。

-s [URL]:

-s オプションは、「サイレントモード(silent mode)」を意味します。このオプションを使うと、通常の進行状況(プログレスバー)やエラーメッセージが非表示になります。つまり、-s を使うことで、実行中の詳細な情報を出力せずに、必要な結果(例えば、リクエストしたデータ)だけを表示することができます。

通常、curl コマンドを使ってファイルをダウンロードすると、進行状況が表示されます。

curl https://example.com/file.zip

これを実行すると、以下のように進行状況が表示されます:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0   150    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0

しかし、-s オプションを付けて実行すると:

curl -s https://example.com/file.zip

この場合、進行状況の情報が表示されず、出力だけが得られます。例えば、ファイルをダウンロードしている場合は、進行状況を表示せずにダウンロードが進行します。

使うシーン
  • スクリプトで curl を使用して自動化を行うときに、不要な進行状況のメッセージを抑えたいとき。
  • ログを簡潔にしたいときや、出力を解析しやすくするために、必要な情報だけを取得したいとき。
  • エラーメッセージも非表示にしたい場合。

-s-S の併用

-s オプションを使うと、エラーメッセージも抑制されるため、何が起こっているかわかりにくくなることがあります。そこで、エラーメッセージだけは表示したい場合には、-s-S を併用します。

curl -s -S https://example.com/file.zip

この場合、進行状況は表示されませんが、何かエラーが起きたときにはエラーメッセージが表示されるようになります。

その他よく使うオプション

  • -L:リダイレクトを自動的に追跡します。リダイレクトされるページの場合、リダイレクト先のURLに自動で移動してくれます。

  • -u [username:password]:基本認証が必要なサイトに対して、ユーザー名とパスワードを指定してアクセスします。

まとめ

curlは、シンプルなコマンドラインツールですが、HTTPリクエストやファイルのダウンロードなど、さまざまな用途で使える便利なツールです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?