当サイトはプロモーションが含まれています。

Windows(コマンドプロンプト)でcurlコマンドを使う

ライブラリー

Linuxでよく使うコマンド「curl」をWindows(コマンドプロンプト)で使えるようにします。

「curl」とは、Wikipediaによると、

cURLはURLシンタックスを用いてファイルを送信または受信するコマンドラインツールである。

Source:cURL – Wikipedia(Accessed August 8)

とのこと。
まぁ、簡単にいえば、ファイル転送ツール的な?
ただ、筆者はリダイレクトの検証やHTTPヘッダーの確認のために、よく利用しています。

以前の記事(Windows(コマンドプロンプト)でdig、whois、hostコマンドを使う 【改訂版】)で、digやwhoisをWindowsで使用できるようにしましたが、curlもできないかな~と本家サイトを調べてみると、Windows向けに提供されていました。

curlのインストール

例として、Viktor SzakátsさんのSSL・SSHサポート「Win64 x86_64 7zip」を使用しました。

1.「cURL – Download」よりWindows向けcurlをダウンロードします。

curlダウンロード先

Win64bitなら「Win64 – Generic」、Win32bitなら「Win32 – Generic」の中から選択してダウンロードします。(インストーラーもあるみたいです)

※黄色でハイライトされているのが、最新バージョンで生成されたパッケージのようです。
※うまく探せない方は、cURL: Download Wizard もアリです。
※うまく動かないパッケージもあるみたいなので、ダメな場合には他のパッケージを試すのも手です。(筆者の設定が悪かったのかもしれませんが・・・)

2.ダウンロードしたパッケージを解凍して適当な場所に設置します。(この時点で、「curl.exe」があるフォルダに移動すれば利用可能です。)

3.最後に「curl.exe」があるフォルダを環境変数でパスを通せば、完了となります。
例:Cドライブ直下の「curl」というフォルダをインストール先にした場合
変数名:Path
値:C:\curl\bin

コマンド例

・curlのバージョンを確認する。

C:\User\myuser>curl -V
curl 7.50.1 (x86_64-pc-win32) libcurl/7.50.1 OpenSSL/1.0.2h zlib/1.2.8 WinIDN libssh2/1.7.0 nghttp2/1.13.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2

・HTTPヘッダーを確認する。(オプションで、「-L」を付けることで、リダイレクトチェックも可能)

C:\User\myuser>curl -I http://www.example.com/
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=604800
Content-Type: text/html
Date: Mon, 08 Aug 2016 09:29:34 GMT
Etag: "359670651+gzip"
Expires: Mon, 15 Aug 2016 09:29:34 GMT
Last-Modified: Fri, 09 Aug 2013 23:54:35 GMT
Server: ECS (cpm/F9D5)
X-Cache: HIT
x-ec-custom-error: 1
Content-Length: 1270

※SSL絡みのエラーが出る場合には、オプション「-k」を付ければOK。