【完全ガイド】Linux curlコマンド徹底解説!基本の使い方からAPI活用・便利技まで網羅

最終更新日 2025年2月17日

Linuxのcurlコマンド

データ送受信の強力なツール

curlは、Linuxで使用される強力なデータ送受信ツールです。HTTP、HTTPS、FTP、SFTPなど、多様なプロトコルに対応しています。ファイルのダウンロードやAPIリクエストの送信に活用されます。
スポンサーリンク

Linuxのcurlコマンドとは?

Linuxのcurlコマンドは、データを送受信するための強力なCLI(コマンドラインインターフェース)ツールです。HTTP/HTTPSをはじめ、FTP、SFTPなどの多様なプロトコルに対応し、ファイルのダウンロードやAPIリクエストの送信に活用されます。Linux環境に標準搭載されていることが多く、スクリプトや自動化処理でも頻繁に使用される必須ツールです。

curlとは?基本概要と特徴

Linuxのcurlコマンドは、「Client URL」の略称で、URLを指定してデータを送受信できるコマンドです。HTTP/HTTPS、FTP、SFTP、SMTPなど、さまざまなプロトコルに対応しているため、単なるファイルダウンロードツールではなく、API通信やデータ取得など多用途に活用できます。

curlの主な特徴

  • さまざまなプロトコルに対応(HTTP, HTTPS, FTP, SFTP, SCP, LDAP など)
  • シンプルな構文でリクエスト送信が可能
  • GET・POSTなどのHTTPリクエストを手軽に送れる
  • スクリプトに組み込みやすく、自動化が可能
  • Linuxに標準搭載されていることが多く、追加インストールなしで利用できる
新人エンジニア
新人エンジニア

curlって何ができるコマンドなんですか?

先輩エンジニア
先輩エンジニア

簡単に言うと、インターネット上のデータをコマンド一つで取得できるツールだよ。例えばWebページのソースを取得したり、ファイルをダウンロードしたり、APIを使ったデータ通信もできるんだ。

新人エンジニア
新人エンジニア

wgetと何が違うんですか?

先輩エンジニア
先輩エンジニア

それは後で詳しく説明するけど、一番の違いは、curlは単純なダウンロードツールじゃなくて、データの送受信ができること。APIとやり取りするのにもよく使われるよ。

curlの基本概要と特徴

多様なプロトコル対応

HTTP、HTTPS、FTP、SFTP、SCPなど、様々なプロトコルに対応しています。

シンプルな構文

簡単な構文でリクエスト送信が可能です。

自動化に適している

スクリプトに組み込みやすく、自動化処理に適しています。
curlの基本概要と特徴
スポンサーリンク

Linuxでcurlを使用するメリット

Linuxでcurlを使う最大のメリットは、HTTPリクエストをコマンドラインから簡単に送受信できることです。特に、APIを利用する場面や、サーバー管理、ファイルの取得・送信など、さまざまな用途で役立ちます。

curlを使うメリット

  • Linux標準搭載のことが多く、すぐに使える
  • Web APIのテストやデバッグが簡単
  • スクリプトに組み込んで自動化が可能
  • ユーザー認証・プロキシ対応など柔軟なオプションが豊富
  • ヘッダー情報の取得やリクエストの詳細な制御ができる
新人エンジニア
新人エンジニア

curlって具体的にどんな場面で使われますか?

先輩エンジニア
先輩エンジニア

例えば、APIを使ってデータを取得するときや、サーバーのレスポンスを確認したいときに使うね。Webサービスの開発では欠かせないツールだよ。

新人エンジニア
新人エンジニア

wgetじゃダメなんですか?

先輩エンジニア
先輩エンジニア

wgetは基本的にファイルをダウンロードする用途に特化してる。一方、curlはリクエストを送信できるし、API通信に向いてる。用途に応じて使い分けるのがベストだね。

curlの主な用途

ファイルダウンロード

Webページのソースやファイルを簡単に取得できます。

API通信

Webサービスの開発やテストに欠かせないツールです。

サーバー管理

サーバーのレスポンスを確認するのに便利です。
curlの主な用途
スポンサーリンク

curlとwgetの違いとは?

curlwgetはどちらもネットワークからデータを取得するためのコマンドですが、それぞれの目的や特性が異なります。

比較項目curlwget
目的データの送受信、API通信ファイルのダウンロード
対応プロトコルHTTP, HTTPS, FTP, SFTP, SCP, LDAP などHTTP, HTTPS, FTP など
複数ファイルの一括ダウンロード×(スクリプトで対応可)○(リカーシブダウンロード対応)
POSTリクエストの送信○(API通信に最適)×
スクリプトとの親和性○(出力を他のコマンドに渡しやすい)
新人エンジニア
新人エンジニア

wgetは一括ダウンロードが得意って聞いたんですが?

先輩エンジニア
先輩エンジニア

そうだね。wgetはリカーシブダウンロード(フォルダごとダウンロードする機能)があって、サイトのミラーリングなんかに向いてる。でも、API通信やデータ送信が必要ならcurlのほうが適してるよ。

新人エンジニア
新人エンジニア

なるほど、使い分けが大事なんですね。

先輩エンジニア
先輩エンジニア

そういうこと。基本はcurlを使って、特定の用途でwgetを使い分けるのがベストだね。

curlとwgetの違い

curl

データの送受信、API通信に適しています。POSTリクエストの送信が可能です。

wget

ファイルのダウンロードに特化しています。リカーシブダウンロードが可能です。
curlとwgetの違い
スポンサーリンク

まとめ

  • curlはデータの送受信ができる強力なコマンドラインツール
  • Linuxに標準搭載されていることが多く、すぐに使える
  • wgetと異なり、API通信やPOSTリクエストの送信が可能
  • curlはスクリプトに組み込みやすく、開発や運用の自動化に適している

今後、curlの基本的な使い方や便利なオプションについて詳しく解説していきます!

Linuxでのcurlコマンドの基本的な使い方

curlコマンドは、Linuxのターミナルから簡単にインストールでき、シンプルな構文で使える便利なツールです。本章では、インストール方法から基本的な構文、実用的な使い方まで解説します。

curlのインストール方法(各Linuxディストリビューション別)

ほとんどのLinuxディストリビューションでは、curlは標準でインストールされていますが、万が一インストールされていない場合は、以下のコマンドで簡単に導入できます。

各ディストリビューションごとのインストールコマンド

ディストリビューションごとのcurlコマンドのインストール方法は以下です。

ディストリビューションインストールコマンド
Ubuntu / Debiansudo apt update && sudo apt install -y curl
CentOS / RHELsudo yum install -y curl
Fedorasudo dnf install -y curl
Arch Linuxsudo pacman -S curl
新人エンジニア
新人エンジニア

curlを使おうとしたら ‘command not found’ って出ました!

先輩エンジニア
先輩エンジニア

それは未インストールかもね。自分のLinuxの種類を確認して、上のコマンドでインストールしてみて。

新人エンジニア
新人エンジニア

どのLinuxかわからないんですが…

先輩エンジニア
先輩エンジニア

cat /etc/os-release を実行するとディストリビューションがわかるよ。

curlのインストール方法

Ubuntu / Debian

sudo apt update && sudo apt install -y curl

CentOS / RHEL

sudo yum install -y curl

Fedora

sudo dnf install -y curl

Arch Linux

sudo pacman -S curl
curlのインストール方法
スポンサーリンク

基本的な構文とオプションの解説

curlの基本的な構文はシンプルで、以下のように使用します。

curl [オプション] [URL]

よく使うオプション

オプション説明
-o [ファイル名]指定したファイル名で保存
-OURLのファイル名で保存
-Lリダイレクトを追跡
-Iヘッダー情報のみ取得
-X [HTTPメソッド]GET, POST, PUT, DELETE などのリクエスト指定
新人エンジニア
新人エンジニア

基本の構文を教えてください!

先輩エンジニア
先輩エンジニア

めちゃくちゃシンプルだよ。curl URL で実行すれば、そのページのデータが取得できる。

新人エンジニア
新人エンジニア

リダイレクトされるURLにアクセスできません…

先輩エンジニア
先輩エンジニア

-L オプションをつけるとリダイレクトを追跡してくれるよ。

curlの基本的な構文とオプション

基本構文

curl [オプション] [URL]

-o [ファイル名]

指定したファイル名で保存します。

-L

リダイレクトを追跡します。

-X [HTTPメソッド]

GET、POST、PUTなどのリクエストを指定します。
curlの基本的な構文とオプション
スポンサーリンク

Webページを取得する(GETリクエスト)

curlを使えば、WebページのHTMLソースを取得できます。例えば、Googleのトップページを取得するには以下のようにします。

curl https://www.google.com

ただし、上記のコマンドはWebページの内容をターミナルに直接表示します。内容を確認しやすくするために、ファイルに保存するには -o オプションを使います。

curl -o google.html https://www.google.com
新人エンジニア
新人エンジニア

Webページを取得したいんですが、ブラウザなしでできますか?

先輩エンジニア
先輩エンジニア

curl URL を実行すればHTMLを取得できるよ。表示が崩れる場合は、ファイルに保存するといいね。

新人エンジニア
新人エンジニア

画像やCSSは取得できますか?

先輩エンジニア
先輩エンジニア

HTMLのリンク先をたどる機能はないから、画像やCSSは個別にダウンロードする必要があるね。

Webページの取得(GETリクエスト)

基本的な取得

curl https://www.google.com

ファイルに保存

curl -o google.html https://www.google.com

リダイレクトの追跡

curl -L https://www.google.com
Webページの取得(GETリクエスト)
スポンサーリンク

ファイルをダウンロードする方法

ファイルをダウンロードする場合は、以下のように実行します。

curl -O https://example.com/sample.txt

上記の -O オプションは、URLのファイル名で保存します。特定の名前で保存したい場合は -o を使います。

curl -o myfile.txt https://example.com/sample.txt

大容量ファイルのダウンロード

大きなファイルをダウンロードする場合、進捗状況を表示するには --progress-bar を使用します。

curl -O --progress-bar https://example.com/largefile.zip
新人エンジニア
新人エンジニア

ダウンロードしたファイル名を変えたいんですが?

先輩エンジニア
先輩エンジニア

-o オプションを使えば好きな名前で保存できるよ。

新人エンジニア
新人エンジニア

ダウンロードの進行状況が見えないんですが…

先輩エンジニア
先輩エンジニア

–progress-bar をつけると進捗が表示されるよ。

ファイルのダウンロード方法

URLのファイル名で保存

curl -O https://example.com/sample.txt

特定の名前で保存

curl -o myfile.txt https://example.com/sample.txt

進捗状況の表示

curl -O --progress-bar https://example.com/largefile.zip
ファイルのダウンロード方法
スポンサーリンク

まとめ

  • curlは主要なLinuxディストリビューションで簡単にインストール可能
  • シンプルな構文でWebページの取得やファイルのダウンロードが可能
  • -o-O オプションを活用すると、保存ファイル名を制御できる
  • -L オプションでリダイレクトを追跡、--progress-bar でダウンロードの進捗を表示可能

次章では、curlを使ったより高度な活用方法を紹介します!

curlコマンドの便利な活用方法

curlは単にファイルをダウンロードするだけでなく、データの送信やAPIとの連携、認証付きサイトへのアクセスなど、多くの用途で活用できます。ここでは、実践的な利用方法を解説します。

ファイルをアップロードする(POSTリクエスト)

curlを使えば、サーバーに対してファイルをアップロードできます。ファイルをアップロードする際は、-F オプションを使用し、POSTリクエストとして送信します。

ファイルアップロードの基本構文

curl -F "file=@sample.txt" https://example.com/upload
新人エンジニア
新人エンジニア

ファイルをサーバーにアップロードしたいんですが、curlでできますか?

先輩エンジニア
先輩エンジニア

できるよ! -F “file=@ファイル名” を使って POST リクエストを送ればOK。

新人エンジニア
新人エンジニア

複数のファイルをアップロードできますか?

先輩エンジニア
先輩エンジニア

複数の -F を指定すれば送れるよ。ただし、サーバー側の仕様も確認してね。

ファイルのアップロード(POSTリクエスト)
ファイルのアップロード(POSTリクエスト)
スポンサーリンク

JSON形式でデータを送信する場合

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

このように、-HContent-Type を指定し、-d でJSONデータを送ることも可能です。

APIとの連携(JSONデータの送受信)

curlはWeb APIと連携する際に非常に便利です。例えば、GETリクエストでAPIからデータを取得するには、以下のように実行します。

APIからデータを取得(GETリクエスト)

curl -X GET https://api.example.com/data
新人エンジニア
新人エンジニア

APIのデータを取得したいんですが、どうすればいいですか?

先輩エンジニア
先輩エンジニア

curl -X GET URL でリクエストを送ればいいよ。

新人エンジニア
新人エンジニア

レスポンスを見やすくする方法はありますか?

先輩エンジニア
先輩エンジニア

jq コマンドを使うとJSONを整形できるよ。

curl -X GET https://api.example.com/data | jq

APIにデータを送信(POSTリクエスト)

データを送る場合は、-d オプションを使います。

curl -X POST -H "Content-Type: application/json" -d '{"name": "John"}' https://api.example.com/users
新人エンジニア
新人エンジニア

APIにデータを送る方法を教えてください!

先輩エンジニア
先輩エンジニア

-X POST を使って、-H で Content-Type を指定し、-d でJSONデータを送信するよ。

curlの活用でデータ通信を効率化

高度な活用

APIテスト、自動化スクリプト

基本機能の習得

ダウンロード、アップロード、オプション理解

インストールと基本構文

環境設定、コマンド構造の理解

curlを使いこなすことで、データ通信やWebサービス開発の効率が大幅に向上します。基本から応用まで、段階的に習得していきましょう。
curlの活用でデータ通信を効率化
スポンサーリンク

ヘッダー情報を取得する(-I オプション)

Webサーバーのレスポンスヘッダーを取得したい場合は、-I オプションを使用します。これは、HTTPリクエストを送信し、HTMLの内容を取得せずにヘッダー情報のみ表示するのに便利です。

ヘッダー情報を取得する

curl -I https://example.com
新人エンジニア
新人エンジニア

サーバーの情報を確認したいんですが、どうすればいいですか?

先輩エンジニア
先輩エンジニア

-I オプションをつけると、レスポンスヘッダーだけ取得できるよ。

新人エンジニア
新人エンジニア

どんな情報が見れますか?

先輩エンジニア
先輩エンジニア

サーバーの種類(Apache, Nginxなど)、HTTPステータスコード、リダイレクト先のURLなんかが確認できるよ。

具体的な出力例

HTTP/1.1 200 OK
Date: Mon, 01 Jan 2024 12:00:00 GMT
Server: Apache
Content-Type: text/html; charset=UTF-8
ヘッダー情報の取得

-I オプション

curl -I https://example.com でヘッダー情報のみを取得できます。

取得できる情報

サーバーの種類、HTTPステータスコード、リダイレクト先URLなどが確認できます。

出力例

HTTP/1.1 200 OK、Date、Server、Content-Typeなどの情報が表示されます。
ヘッダー情報の取得
スポンサーリンク

認証が必要なサイトにアクセスする方法

認証が必要なWebサイトやAPIにアクセスする場合、curlには-u オプションを使用してBasic認証を行う方法があります。

Basic認証の例

curl -u username:password https://example.com/protected
新人エンジニア
新人エンジニア

パスワードが必要なAPIにアクセスしたいんですが?

先輩エンジニア
先輩エンジニア

-u ユーザー名:パスワード を使えばBasic認証ができるよ。

新人エンジニア
新人エンジニア

パスワードをコマンドに直接書くのは危険では?

先輩エンジニア
先輩エンジニア

確かに、履歴に残るから ~/.netrc に保存する方法もあるよ。

認証情報を .netrc に保存して使用する

1.~/.netrc に以下のように記述

machine example.com
login username
password mypassword

2.curlでアクセス

curl -n https://example.com/protected
認証が必要なサイトにアクセスする

Basic認証

curl -u username:password https://example.com/protected でアクセスできます。

セキュリティ対策

パスワードをコマンドに直接書くのは危険です。

.netrcファイルの使用

~/.netrc にログイン情報を保存し、curl -n で使用できます。
認証が必要なサイトにアクセスする
スポンサーリンク

まとめ

  • curl -F でファイルをアップロードし、-X POST でAPIにデータ送信が可能
  • APIとの連携では、-H "Content-Type: application/json" を使いJSONデータを送受信
  • -I オプションを使えば、Webサーバーのレスポンスヘッダーのみ取得できる
  • -u オプションでBasic認証に対応し、.netrc に認証情報を保存すると安全性が向上する

次章では、curlをさらに便利に使うための応用テクニックを紹介します!

curlの応用テクニック・便利技

curlコマンドには、単純なデータ取得や送信だけでなく、リダイレクトの追跡、タイムアウトの設定、プロキシ経由のアクセス、ループ処理での連続リクエストなど、さまざまな応用的な使い方があります。ここでは、これらの便利なテクニックを解説します。

curlの応用テクニック

タイムアウト設定

--connect-timeout と --max-time オプションで設定できます。

プロキシ経由のアクセス

-x オプションでプロキシサーバーを指定できます。

ループ処理

forループやwhile readを使って複数のリクエストを処理できます。
curlの応用テクニック

リダイレクトの追跡(-L オプション)

リダイレクトを含むURLにアクセスする場合、デフォルトのcurlはリダイレクトを自動的に追跡しません。そのため、リダイレクト先のURLにアクセスするためには、-L オプションを使用する必要があります。

リダイレクトを追跡する基本コマンド

curl -L https://example.com
新人エンジニア
新人エンジニア

curlでアクセスしたら、HTMLが取得できませんでした…

先輩エンジニア
先輩エンジニア

リダイレクトされてるかもね。-L オプションをつけると、リダイレクト先のURLを自動的にたどれるよ。

新人エンジニア
新人エンジニア

リダイレクト先のURLを知りたいんですが?

先輩エンジニア
先輩エンジニア

-I オプションを使うと、レスポンスヘッダーに Location が含まれてるはずだよ。

リダイレクトの確認

curl -I https://example.com

出力結果

HTTP/1.1 301 Moved Permanently
Location: https://www.example.com/

この場合、https://www.example.com/ にリダイレクトされるので、-L を使うと自動でアクセスできます。

スポンサーリンク

タイムアウトを設定して遅延を防ぐ

ネットワークの遅延やサーバーの応答がない場合に、curlのデフォルト設定では長時間待機してしまうことがあります。これを防ぐために、--connect-timeout--max-time オプションでタイムアウトを設定できます。

タイムアウトの基本設定

curl --connect-timeout 5 --max-time 10 https://example.com
  • --connect-timeout 5接続が5秒以内に確立しなければエラー
  • --max-time 10リクエスト全体の最大待機時間を10秒に設定
新人エンジニア
新人エンジニア

サーバーの応答が遅くて、ずっと待機状態になるんですが?

先輩エンジニア
先輩エンジニア

–connect-timeout で接続時間を制限できるよ。それでもダメなら –max-time でリクエスト全体の待機時間も設定しよう。

新人エンジニア
新人エンジニア

どのくらいの時間が適切ですか?

先輩エンジニア
先輩エンジニア

用途によるけど、connect-timeout 5 くらいが無難かな。APIなら max-time 10 くらいで試してみるといいね。

プロキシサーバーを経由する方法

社内ネットワークや特定の環境では、直接インターネットにアクセスできない場合があります。そのような場合、curlでプロキシサーバーを経由する設定が可能です。

HTTPプロキシを指定する

curl -x http://proxy.example.com:8080 https://example.com
新人エンジニア
新人エンジニア

プロキシ経由でアクセスしたいんですが、どうすればいいですか?

先輩エンジニア
先輩エンジニア

-x オプションでプロキシサーバーのアドレスを指定すればいいよ。

新人エンジニア
新人エンジニア

認証が必要なプロキシの場合は?

先輩エンジニア
先輩エンジニア

ユーザー名とパスワードを指定すればOK。

スポンサーリンク

認証付きプロキシの設定

curl -x http://username:password@proxy.example.com:8080 https://example.com
新人エンジニア
新人エンジニア

パスワードをコマンドに直接書くのは避けたいです。

先輩エンジニア
先輩エンジニア

.netrc に保存する方法もあるよ。

プロキシ環境下でのアクセスが必要な場合は、環境変数で指定する方法もあります。

環境変数でプロキシを設定

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
curl https://example.com

ループ処理を使って複数のリクエストを送る

複数のURLやデータに対して連続でcurlを実行したい場合、ループ処理を使うと効率的です。

forループ

for url in https://example.com/page1 https://example.com/page2; do
    curl -O $url
done
新人エンジニア
新人エンジニア

複数のファイルを一括でダウンロードしたいんですが?

先輩エンジニア
先輩エンジニア

forループを使えば、複数のURLを一括で処理できるよ。

新人エンジニア
新人エンジニア

リストを使って大量にリクエストを送りたいです。

先輩エンジニア
先輩エンジニア

ファイルにURLリストを書いて while read で処理する方法があるよ。

スポンサーリンク

ファイルにリストを保存して実行

1.urls.txt にURLリストを保存

https://example.com/file1.txt

Example Domain

2.curlで一括処理

while read url; do curl -O "$url"; done < urls.txt
新人エンジニア
新人エンジニア

並列でダウンロードする方法は?

先輩エンジニア
先輩エンジニア

xargs や & を使うと並列処理できるよ。

並列ダウンロード(xargs使用)

cat urls.txt | xargs -n 1 -P 4 curl -O

-P 44つのプロセスを並列実行 するので、高速ダウンロードが可能になります。

まとめ

  • -L オプションでリダイレクトを追跡できる
  • --connect-timeout--max-time でタイムアウトを設定し、遅延を防ぐ
  • -x でプロキシ経由の通信が可能で、認証情報の設定も対応
  • forループwhile read を使うと、複数のリクエストを自動処理できる
  • xargs -P を活用すると並列処理で高速ダウンロードが可能

次章では、curlのトラブルシューティングについて解説します!

スポンサーリンク

curlを使ったトラブルシューティング

curlコマンドを実行した際に、予期しないエラーが発生することがあります。ここでは、代表的なトラブルとその解決方法について解説します。

curlのトラブルシューティング

インストール確認

curl --version でインストール状況を確認します。

ネットワーク接続確認

ping example.com でサーバーとの通信を確認します。

プロキシ設定確認

echo $http_proxy で環境変数を確認します。

SSL証明書エラー

ca-certificates を更新して解決します。
curlのトラブルシューティング

curlコマンドが動かないときの対処法

curlが正常に動作しない場合、いくつかの原因が考えられます。まずは、以下の点を確認しましょう。

チェックリスト

curlがインストールされているか確認

curl --version
新人エンジニア
新人エンジニア

curlを実行すると ‘command not found’ って出るんですが…

先輩エンジニア
先輩エンジニア

それは未インストールかもね。curl –version で確認して、なければインストールしよう。

ネットワーク接続を確認

ping example.com
新人エンジニア
新人エンジニア

サイトにアクセスできません。

先輩エンジニア
先輩エンジニア

まずは ping でサーバーと通信できるか試してみて。ネットワークの問題かも。

スポンサーリンク

プロキシ設定を確認

1.環境変数をチェック

echo $http_proxy

2.必要ならプロキシを設定

export http_proxy="http://proxy.example.com:8080"
新人エンジニア
新人エンジニア

社内ネットワークだと動かないんですが…

先輩エンジニア
先輩エンジニア

プロキシが必要な環境かも。echo $http_proxy で確認して、適切な設定を追加しよう。

SSL証明書エラーの解決方法

HTTPSサイトにアクセスすると、以下のようなエラーが発生することがあります。

SSLエラーの例

curl: (60) SSL certificate problem: unable to get local issuer certificate

このエラーの主な原因は、ローカルの証明書が適切に設定されていないことです。

解決方法(最新のCA証明書をインストール)

sudo apt install -y ca-certificates 
sudo update-ca-certificates
新人エンジニア
新人エンジニア

SSLエラーが出てサイトにアクセスできません!

先輩エンジニア
先輩エンジニア

ca-certificates が古いかも。最新のものに更新してみよう。

スポンサーリンク

証明書の検証を無効化(テスト用)

curl -k https://example.com
新人エンジニア
新人エンジニア

急ぎで動作確認したいんですが…

先輩エンジニア
先輩エンジニア

テスト目的なら -k オプションでSSL検証を無効化できるよ。ただし、本番環境では推奨しない。

HTTPステータスコードからエラーを特定する

curlはHTTPステータスコードを返すので、エラーの原因を特定するのに役立ちます。

レスポンスコードを確認する方法

curl -o /dev/null -w "%{http_code}\n" -s https://example.com
新人エンジニア
新人エンジニア

curlのエラーが何かわからないんですが…

先輩エンジニア
先輩エンジニア

-w “%{http_code}” でHTTPステータスコードを取得すると、原因が特定しやすいよ。

よくあるHTTPステータスコード

ステータスコード意味
200成功
301/302リダイレクト(-L で対応)
403アクセス拒否(認証が必要)
404URLが存在しない
500サーバー内部エラー
新人エンジニア
新人エンジニア

403が出るんですが?

先輩エンジニア
先輩エンジニア

認証が必要かも。-u オプションでユーザー名とパスワードを指定してみて。

スポンサーリンク

まとめ Linuxのcurlコマンドを使いこなそう!

curlは、シンプルなデータ取得からAPI連携、認証付きリクエストまで、幅広い用途に対応した便利なコマンドです。最後に、よく使うコマンドと学習用の参考情報をまとめます。

よく使うcurlコマンド

基本的なデータ取得

curl https://example.com

ファイルを保存

curl -o file.txt https://example.com/file.txt

リダイレクト対応

curl -L https://example.com

ヘッダー情報取得

curl -I https://example.com

JSONデータ送信

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com
よく使うcurlコマンド

よく使うcurlコマンドのリファレンス

用途コマンド
基本的なデータ取得curl https://example.com
ファイルを保存curl -o file.txt https://example.com/file.txt
リダイレクト対応curl -L https://example.com
ヘッダー情報取得curl -I https://example.com
JSONデータ送信curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://api.example.com
認証付きアクセスcurl -u user:pass https://example.com/protected
タイムアウト設定curl --max-time 10 https://example.com
プロキシ経由のアクセスcurl -x http://proxy.example.com:8080 https://example.com

参考リンク・公式ドキュメント

より詳しくcurlを学ぶには、以下の公式ドキュメントやリファレンスを活用しましょう。

curl公式サイト
https://curl.se/

学習用記事

curlを使いこなそう!
ゴリタンが愛用しているLinuxの教科書たち
https://amzn.to/4hBQa2y
https://a.r10.to/hkpc1F

この記事も参考になるかも!
この記事を書いた人!

ゴリタン

インフラエンジニアとして、ネットワークとサーバーの運用・保守・構築・設計に幅広く携わり、
現在は大規模政府公共データの移行プロジェクトを担当。

CCNPやLPICレベル3、AWSセキュリティスペシャリストなどの資格を保有しています。

あなたにオススメの広告
スポンサーリンク
Linux教科書