「Linuxコマンド - curl」の版間の差分
ナビゲーションに移動
検索に移動
(→概要) |
|||
57行目: | 57行目: | ||
== curlコマンドのオプション == | == curlコマンドのオプション == | ||
<br><br> | |||
== セキュリティと認証== | |||
==== HTTPS ==== | |||
証明書のエラーを無視する場合、<code>-k</code>オプションを付加する。<br> | |||
これにより、<code>curl</code>コマンドはサーバから送信される証明書を検証せずに、以下のような動作をする。<br> | |||
* 証明書エラーが発生しない。 | |||
* サーバとの通信が脆弱になる | |||
* サーバからのレスポンスが改竄されている可能性がある。 | |||
<br> | |||
==== パスワード認証 ==== | |||
ユーザ名とパスワードを指定して認証が必要なWebサイトにアクセスする場合は、<code>-u</code>オプションを付加する。<br> | |||
curl -u <ユーザ名>:<パスワード> <URL> | |||
<br> | |||
=== トークン認証 ==== | |||
トークン認証を使用するAPIにアクセスする場合は、ヘッダにトークンを追加してリクエストを送信する。<br> | |||
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/data | |||
<br> | |||
==== Basic認証 / Digest認証 ==== | |||
Basic認証およびDigest認証を使用する場合は、<code>-u</code>オプションを付加してユーザ名とパスワードを指定する。<br> | |||
また、必要に応じて<code>-basic</code>オプションや<code>-digest</code>オプションを付加する。<br> | |||
<br> | |||
# Basic認証 | |||
curl -u <ユーザ名>:<パスワード> --basic <URL> | |||
# Digest認証 | |||
curl -u <ユーザ名>:<パスワード> --digest <URL> | |||
<br> | |||
==== SSL / TLSの設定 ==== | |||
SSL / TLSの設定をカスタマイズする場合は、以下に示すオプションを付加する。<br> | |||
* <code>-ciphers</code>オプション | |||
*: 使用する暗号スイートを指定する。 | |||
* <code>-cacert</code>オプション | |||
*: CA証明書のファイルを指定する。 | |||
* <code>-cert</code>オプション | |||
*: クライアント証明書を指定する。 | |||
* <code>-key</code>オプション | |||
*: クライアント証明書の秘密鍵を指定する。 | |||
<br><br> | <br><br> | ||
2023年12月31日 (日) 12:06時点における版
概要
curl
コマンドは、Web上のリソースにアクセスして、データの送受信を行うツールである。
主に、以下に示すようなプロトコルをサポートしており、APIとの通信やWebページの取得、ファイルのアップロードおよびダウンロード等の操作が可能である。
- HTTP
- HTTPS
- FTP
- SFTP
curl
コマンドは、以下に示すことが可能である。
- Webページの取得
- WebページのHTMLコンテンツを取得する。
- APIとの通信
- APIに対してHTTPリクエストを送信して、データの取得や更新、削除を行う。
- ファイルのアップロード / ダウンロード
- FTP、SFTP、HTTP、HTTPS等のプロトコルを利用して、ファイルのアップロードやダウンロードを行う。
- ヘッダ情報の確認
- WebサイトやAPIのHTTPヘッダー情報を確認する。
- 認証付きリクエスト
- Basic認証、Digest認証、トークン認証等の様々な認証方法に対応したリクエストを送信することができる。
- Webサイトの監視
- 定期的にWebサイトやAPIにリクエストを送信して、ステータスコードや応答時間を監視することができる。
- リダイレクトの追跡
- URLがリダイレクトされる場合、
curl
コマンドはリダイレクト先のURLや遷移を調査することができる。
- URLがリダイレクトされる場合、
- プロキシを経由したリクエスト
- プロキシサーバを経由してリクエストを送信することができる。
使用方法
GETリクエストの実行
curl <オプション> <URL> # 例: DuckDuckGoのトップページのHTMLを取得する場合 curl https://duckduckgo.com
ヘッダ情報の表示
ヘッダ情報だけを表示する場合は、-I
オプションを付加する。
curl -I <URL>
POSTリクエストの送信
POSTリクエストを送信する場合は、以下に示す2つのオプションを付加する。
-X
オプション- : メソッドを指定(POST)
-d
オプション- : データを指定
curl -X POST -d "key=<値>" <URL>
ファイルのアップロード
ファイルをアップロードする場合は、-F
オプションを付加する。
curl -F "file=@<ファイルのパス>" <URL>
ファイルのダウンロード
ファイルをダウンロードする場合は、-o
オプションを付加して保存先ファイル名を指定する。
curl -o <出力先ファイル名> <URL>
curlコマンドのオプション
セキュリティと認証
HTTPS
証明書のエラーを無視する場合、-k
オプションを付加する。
これにより、curl
コマンドはサーバから送信される証明書を検証せずに、以下のような動作をする。
- 証明書エラーが発生しない。
- サーバとの通信が脆弱になる
- サーバからのレスポンスが改竄されている可能性がある。
パスワード認証
ユーザ名とパスワードを指定して認証が必要なWebサイトにアクセスする場合は、-u
オプションを付加する。
curl -u <ユーザ名>:<パスワード> <URL>
トークン認証 =
トークン認証を使用するAPIにアクセスする場合は、ヘッダにトークンを追加してリクエストを送信する。
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/data
Basic認証 / Digest認証
Basic認証およびDigest認証を使用する場合は、-u
オプションを付加してユーザ名とパスワードを指定する。
また、必要に応じて-basic
オプションや-digest
オプションを付加する。
# Basic認証 curl -u <ユーザ名>:<パスワード> --basic <URL> # Digest認証 curl -u <ユーザ名>:<パスワード> --digest <URL>
SSL / TLSの設定
SSL / TLSの設定をカスタマイズする場合は、以下に示すオプションを付加する。
-ciphers
オプション- 使用する暗号スイートを指定する。
-cacert
オプション- CA証明書のファイルを指定する。
-cert
オプション- クライアント証明書を指定する。
-key
オプション- クライアント証明書の秘密鍵を指定する。