【コマンドライン】データの送受信 [ curl ]
コマンドラインでデータを送受信するcurlコマンドについて解説します。
検証環境
curlコマンド
curlコマンドは“データを送受信するコマンド”です。
様々な通信プロトコルが備わっており、代表的な通信はHTTPなどです。
リクエストを送信し、そのレスポンスを受信することでWebページなどのデータを取得できます。
基本書式
$ curl [オプション] [URL]
オプション
主なオプションは次の通りです。
オプション | 内容 |
---|---|
-o ファイル名 | レスポンスをファイルに出力 |
-v | 詳細ログの出力 |
-I | レスポンスヘッダを出力 |
-X POST | POSTリクエストを送信 |
-d データ | データを送信 |
-H | リクエストヘッダを追加 |
引数
URL
URL
はデータを送信するURLです。
サンプル
GETリクエスト
指定URLにGETリクエストを送信し、そのレスポンスを表示します。
___ih_hl_start
$ curl https://it-hack.net
___ih_hl_end
...省略...
<title>ITHACK ~ みんなのIT部門 ~ | ITHACK</title>
...省略...
POSTリクエスト
___ih_hl_start
$ curl -X POST https://it-hack.net
___ih_hl_end
...省略...
An Error Occurred: Method Not Allowed
...省略...
POSTリクエスト(データ付与)
___ih_hl_start
$ curl -X POST -d "A=aaa&X=xxx" https://it-hack.net
___ih_hl_end
...省略...
An Error Occurred: Method Not Allowed
...省略...
リクエストヘッダ
___ih_hl_start
$ curl -H "Content-Type: application/json" https://it-hack.net
___ih_hl_end
...省略...
<title>ITHACK ~ みんなのIT部門 ~ | ITHACK</title>
...省略...
レスポンスヘッダ
___ih_hl_start
$ curl -I https://it-hack.net
___ih_hl_end
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
...省略...
詳細ログ
___ih_hl_start
$ curl -v https://it-hack.net
___ih_hl_end
* About to connect() to it-hack.net port 443 (#0)
...省略...
> GET / HTTP/1.1
...省略...
< HTTP/1.1 200 OK
...省略...
ファイル保存
-oオプションはレスポンスをファイルに保存します。
___ih_hl_start
$ curl -o sample.html https://it-hack.net
___ih_hl_end
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 78481 0 78481 0 0 43998 0 --:--:-- 0:00:01 --:--:-- 43991
$ ls
sample.html
$cat sample.html
...省略...
<title>ITHACK ~ みんなのIT部門 ~ | ITHACK</title>
...省略...
マニュアル
コマンドの仕様(主な処理やオプション・引数など)は環境により異なる場合がございます。
利用環境での仕様は『コマンドのマニュアルを表示する』manコマンド等で確認しましょう。