こんなツイートを見かけました。
Linuxコマンド「curl」を使って新型コロナウイルスの世界の感染状況を把握できます。Ubuntuでは最初にcurlコマンドをインストールします。
— 日経Linux | ラズパイマガジン (@nikkei_Linux) March 30, 2020
$ sudo apt install curl
次のように実行します。(:は半角に置き換え)
$ curl https://corona-stats.online
$ curl https://corona-stats.online/Japan pic.twitter.com/xY6op824Ha
curl
コマンドで感染状況が確認できるWebサイトがあるようです。せっかくなので Windows でも似たようなことをやってみましょう。1
PowerShell でもやってみた
PowerShell には curl がご用意されていないため、代わりに Invoke-WebRequest
コマンドレットを使います2:
(Invoke-WebRequest https://corona-stats.online/Japan -UserAgent curl).Content
また、以下のバッチファイルをパスが通ったディレクトリ配置すると、durl <URL>
でコンテンツを取得することができるようになります:
@echo off
powershell -Command " (Invoke-WebRequest %* -UserAgent curl).Content"
Windows 10 v1803 以降の場合
curl.exe
がインストールされているので直接実行できたりしますが、PowerShell の色々とややこしい脳の筋トレに役立つエンコード周りを考慮に入れなければいけないので個人的にはおすすめしません。
2020-04-07 追記
コメントにて @7cc さんがエンコード周りの解説を書いてくださっています。感謝!
参考リンク
- Invoke-WebRequest
- PowerShell: ◆Split演算子
- 「tar」「curl」がWindows 10に、“WSL”も強化 ~Insider Preview Build 17063
- Powershell で文字コードを変更する(clip.exe へのリダイレクトもね)
- PowerShell でも tail -f がしたいし grep もしたい
-
あるいは PowerShell で curl っぽいことをする備忘録です(いつも忘れる) ↩
-
official curl binary builds for Microsoft Windows はご用意できました。また、後述のように Windows 10 v1803 からは標準で
curl.exe
がインストールされています。なお、PowerShell におけるcurl
とwget
はInvoke-WebRequest
コマンドレットのエイリアスです。 ↩