curl | Windows11におけるcurl利用までのフロー

2024年3月20日

cURLとはコンピュータソフトウェアプロジェクトであり,ライブラリーに利用される"libcurl"やコマンドラインツールに利用される"curl"を提供している.

以下がcURLのURLとなる.

cURL

curlとはURL構文を利用してファイルを含むデータを受け取ったり,送ったりすることができるコマンドラインツールである.

今回はWindows11でのコマンドプロンプトで"curl"を利用するまでのフローを以下に記す.

curlのダウンロード方法と準備

私の場合,windows11を利用しているので以下URLにアクセスすると,以下画面に遷移するので赤枠の"curl for 64-bit"をクリックしてcurlのzipファイルをダウンロードする.

curl | Download | Windows

zipファイルをダウンロードし,解凍すると以下画面になる.左側が解凍前のzipファイルであり,右側が解凍後のフォルダとなる.解凍後のフォルダーをクリックし,アクセスする.

以下のようなディレクトリ構成になっている."bin"フォルダをクリックする.

“curl.exe"ファイルを右クリックし,"パスのコピー"をクリックし,"curl.exe"のパスをコピーする.このパスを後ほど利用する.

curlを利用するまでのフロー

Pathの登録

“PC"を右クリックし,"プロパティ"を選択する

以下画面に遷移するので,"システムの詳細設定"をクリックする.

以下画面が出現するので,"環境変数"をクリックする.

以下画面に遷移するので,"システム環境変数"の"Path"を選択し,"編集"をクリックする.

以下画面に遷移するので,"新規"をクリックする.

ブランクのカーソルが出現するので,上記でコピーした"curl.exe"のパスを貼り付け,"OK"をクリックして内容を保存する.

“curl"を利用可能かの確認

“Windowsマーク"を右クリックする.

以下メニューが開くので,"ファイル名を指定して実行"をクリックする.

以下画面が開くので,"cmd"を入力し,"OK"をクリックすることでコマンドプロンプトを起動させる.

コマンドプロンプトが起動するので,"curl –help"と入力すると以下のように出力される.このようなれば,"curl"を利用することができる.

$ curl --help
Usage: curl [options...] <url>
 -d, --data <data>          HTTP POST data
 -f, --fail                 Fail fast with no output on HTTP errors
 -h, --help <category>      Get help for commands
 -i, --include              Include protocol response headers in the output
 -o, --output <file>        Write to file instead of stdout
 -O, --remote-name          Write output to a file named as the remote file
 -s, --silent               Silent mode
 -T, --upload-file <file>   Transfer local FILE to destination
 -u, --user <user:password> Server user and password
 -A, --user-agent <name>    Send User-Agent <name> to server
 -v, --verbose              Make the operation more talkative
 -V, --version              Show version number and quit

This is not the full help, this menu is stripped into categories.
Use "--help category" to get an overview of all categories.
For all options use the manual or "--help all".

実際の利用

downloadするファイルを確認し,実際にそのファイルをcurlを利用し,downloadする.

downloadするファイルの確認

以下サイトにアクセスし,"Images"をクリックする.

httpbin.org

以下画面が表示されるので,赤枠のpng形式の"GET"をクリックする.

以下画面が表示されるので,"Try it out"をクリックする.

以下画面が表示されるので,"Execute"をクリックする.

以下画面が表示される.赤枠の以下Request URLとcurlコマンドを利用する.なお,出力されるファイルは豚のpngファイルとなる.

curlの利用

上記で取得したURLとcurl コマンドは以下になる.順番に確認する.

コマンドプロンプトを起動させ,URLを利用した以下コマンドを実行する.

$ curl -O https://httpbin.org/image/png

実行後,以下コマンドが出力された.

C:\Users\shiro>curl -O https://httpbin.org/image/png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8090  100  8090    0     0   9222      0 --:--:-- --:--:-- --:--:--  9235

出力数値の詳細は以下となる.

  • % Total:
    転送全体のうち,完了したデータの割合とファイルデータの情報となる.100はすべて転送されたことを示し,8090 bytesのファイルが受信されたことを示す
  • % Received:
    ダウンロードされたデータのうち,想定されるダウンロードサイズの情報となる.100はすべて転送されたことを示し,8090 bytesのファイルが想定であることを示す
  • Average Speed (Dload):
    平均ダウンロードスピードを示す.今回は,9222 bytes/secondだった.
  • Average Speed (Uload):
    平均アップロードスピードを示す.今回アップロードファイルはないので,0 bytes/secondだった.
  • Current Speed:
    最後に更新されたの転送スピードを示す.ダウンロード中に変動はあるが,今回は,9235 bytes/secondだった.

なお,私の場合,"C:\Users\shiro"でcurlを実行したので,ダウンロードファイルは,"C:\Users\shiro"に格納してある.

確認すると,以下のようにpngファイルを確認できる.

当該ファイルを開くと,以下のように豚のpngファイルを確認することができた.

次は,上記で取得したcurlコマンドをコマンドプロンプトで実行する.

$ curl -X GET "https://httpbin.org/image/png" -H "accept: image/png"

以下のような警告が出力される.pngファイル(画像ファイル)だが,curlはターミナルにデータを直接表示しようとして警告が表示された.

C:\Users\shiro>curl -X GET "https://httpbin.org/image/png" -H  "accept: image/png"
Warning: Binary output can mess up your terminal. Use "--output -" to tell curl to output it to your
Warning: terminal anyway, or consider "--output <FILE>" to save to a file.

以上より,以下のように修正してcurlコマンドを実行する.

$ curl -X GET "https://httpbin.org/image/png" -H "accept: image/png" -o image.png

実行すると,以下情報が出力された.

C:\Users\shiro>curl -X GET "https://httpbin.org/image/png" -H "accept: image/png" -o image.png
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8090  100  8090    0     0  10032      0 --:--:-- --:--:-- --:--:-- 10049

“C:\Users\shiro"ディレクトリを確認すると,以下のようにimage.pngファイルを確認することができた.

image.pngファイルを開くと,以下のように豚の画像を確認することができた.

以上