目次
curlとは
URLを指定してネットワーク経由でリクエストを送るコマンドラインのHTTPクライアントです。
HTTP/HTTPSやFTP/SFTPなど多くのプロトコルに対応しています。
疎通確認・APIテスト・ダウンロード等で使用する定番のツールです。
Client URLの略です。
インストールされているか
Windows10には、curlは既にインストールされています。
Linuxにも通常入っています。
curlコマンドを実行する
コマンドプロンプトを立ち上げ以下を入力して実行します。
>curl -I https://example.com
HTTP/1.1 200 OK
Content-Type: text/html
ETag: "84238dfc8092e5d9c0dac8ef93371a07:1736799080.121134"
Last-Modified: Mon, 13 Jan 2025 20:11:20 GMT
Cache-Control: max-age=86000
Date: Fri, 12 Sep 2025 16:31:53 GMT
Connection: keep-alive
Alt-Svc: h3=":443"; ma=93600
curl -I は応答ヘッダだけ返します。疎通確認で使えます。
AWSのS3エンドポイントへの疎通確認の場合
curl -I https://s3.ap-northeast-1.amazonaws.com
JSONの送信もできます。
curl -X POST -H "Content-Type:application/json" -d @test1.txt http://localhost:8080/test1/index2
結果が文字化けのときは、
コマンドのchcp 65001を実行するとUTF-8で表示されるようになります。
>chcp 65001
再度curlを実行すると文字化けが解消されます。
chcpと入力すると、現在の文字コードが表示されます。
>chcp
Active code page: 65001
chcp 932と入力すると文字コードはshift-jisになります。
その他オプション
-v | 詳細ログ(DNS/TLS/ヘッダ) |
--connect-timeout 5 / --max-time 10 | タイムアウト設定 |
-k | 証明書検証を無効化(検証用に限定で) |
--cacert <CA.pem> | 社内CAなど独自CAを指定 |
curlのバージョンを確認する
curl -Vでcurlのバージョンを確認できます。
>curl -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
以下は、curlの公式のマニュアルのリンクです。
https://curl.haxx.se/docs/manual.html
関連の記事
SpringBoot JSONの送信と受信のサンプル
Advanced REST client(ARC)のインストールとJSON送信