【Linux】【Windows】curl コマンド

■ はじめに

* よく使う curlコマンドについて、メモ。

目次

【1】curl コマンド
【2】インストールされているか確認
【3】オプション
【4】curl あれこれ
 1)コンテンツ取得
 2)SSLサイトの場合
 3)wget的な使い方
 4)HTTP ヘッダーを確認
 5)REST API(JSON形式)をコールする

【1】curl コマンド

* curl(cURL) =「Client URL」の略 (curlは、カールと読む) 
* URL構文を使ってサーバーとのデータ転送するコマンド

【2】インストールされているか確認

* いつの間にか、Windowsでも使える
* 「curl --version」で使えるか確認

 【3】オプション

# オプション 説明
1 -s, --silent 進捗やエラーを表示しない
2 -O 標準出力ではなくファイルに出力
3 -L リダイレクト対応
4 -f, --fail 何かエラーがあった時は、エラーコード返す
5 -d, --data POST でフォームを送信する。引数で送信するコンテンツを指定する
6 -H Request Headerを追加(Content-Typeを指定する場合。e.g. 「-H "Content-Type:application/json"」)
7 -X, --request HTTPメソッド(GET/POST/PUT/DELETE etc)を指定。e.g. 「-X DELETE」)

【4】curl あれこれ

 1)コンテンツ取得

* コンテンツが取得できるか確認

コマンド例

curl http://www.yahoo.co.jp/

curl http://www.yahoo.co.jp/ > result.txt

参考文献
https://hydrocul.github.io/wiki/commands/curl.html

2)SSLサイトの場合

curl --insecure https://www.yahoo.co.jp/

curl -k https://www.yahoo.co.jp/

参考文献
http://www.turbolinux.com/support/document/knowledge/866.html

3)wget的な使い方

curl -LO http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip

# -O: 標準出力ではなくファイルに出力
# -L: リダイレクト対応

 4)HTTP ヘッダーを確認

curl -I http://www.yahoo.co.jp/

 使いどころ

* 例えば、リダイレクトの設定を行った際のチェック

参考文献
https://qiita.com/yasuhiroki/items/a569d3371a66e365316f

5)REST APIJSON形式)をコールする

* 以下の関連記事で使用した

Apache Kafka ~ Kafka Connect ~
https://dk521123.hatenablog.com/entry/2023/04/29/185133

# より抜粋

curl -X POST --header "Content-Type: application/json" \
  http://localhost:8083/connectors -d @sample-source.json

curl -X DELETE http://localhost:8083/connectors/sample-source-data

構文

curl -X POST -H "Content-Type: application/json" -d "${JSON}" "${ENDPOINT}"

参考文献
https://qiita.com/Jazuma/items/5aa0a205f67c6dba9425

参考文献

https://qiita.com/shtnkgm/items/45b4cd274fa813d29539
https://qiita.com/yasuhiroki/items/a569d3371a66e365316f
https://weblabo.oscasierra.net/curl-post/

関連記事

Apache Kafka ~ Kafka Connect ~
https://dk521123.hatenablog.com/entry/2023/04/29/185133