カテゴリー
SugiBlog Webデザイナー・プログラマーのためのお役立ちTips

Invoke-webRequestとcurlコマンドでHTTPリクエスト

この記事は最終更新日から1年以上経過しています。

Invoke-webRequestとcurlコマンドを使えばCUI(Commandline User Interface)にてHTTPリクエストを送信することができます。
ここでは基本的な使い方をご紹介します。

Windowsの場合

まずはWindowsの場合です。
PowerShellでInvoke-webRequestコマンドを使います。

このコマンドにはエイリアスが設定されており、curl iwr wgetでも使えます。
curlはあくまでエイリアスなので、Linux・Macでのcurlとは異なりますのでご注意ください。

GETリクエスト
Invoke-webRequest https://www.hoge.jp
Invoke-webRequest -Method GET https://www.hoge.jp

パラメータを付加したリクエスト

Invoke-webRequest https://www.hoge.jp?key=value&key=value
Invoke-webRequest -Method "GET" -Body @{key="value";key="value"} https://www.hoge.jp
POSTリクエスト
Invoke-webRequest -Method "POST" -Body 'key=value&key=value' https://www.hoge.jp
Invoke-webRequest -Method "POST" -Body @{key="value";key="value"} https://www.hoge.jp

レスポンスをファイルに保存

例)カレントディレクトリにレスポンスを保存

Invoke-webRequest -Method "GET" https://www.hoge.jp?key=value&key=value -OutFile outfile.txt
レスポンスヘッダーを確認する
$resp = Invoke-WebRequest https://www.example.org
$resp.Headers

他の情報も出力できます。
StatusCode StatusDescription Content RawContent Forms Images InputFields Links ParsedHtml RawContentLength


Linux・Macの場合

Linux・Macの場合、curlコマンドを使います。

GETリクエスト
curl https://www.hoge.jp
curl -X GET https://www.hoge.jp
curl --request GET https://www.hoge.jp

パラメータを付加したリクエスト

curl https://www.hoge.jp?key=value&key=value
curl -G -d key=value -d key=value https://www.hoge.jp

POSTリクエスト
curl -X "POST" https://www.hoge.jp
curl -X "POST" -d key=value https://www.hoge.jp
レスポンスをファイルに保存

例)カレントディレクトリにレスポンスを保存

curl https://www.hoge.jp?key=value&key=value -o outfile.txt
レスポンスヘッダーを確認する
curl -i https://www.hoge.jp
curl -v https://www.hoge.jp

オプションのまとめ

説明 curl Invoke-WebRequrest
メソッド -X|–request <メソッド名> -Method <メソッド名>
GETのパラメータの渡し方1 URL?<key=value> URL?<key=value>
GETのパラメータの渡し方2 -G|–get -d <パラメータ名=値> -Body @{key=value}
POSTのパラメータの渡し方 -d <パラメータ名=値> -Method POST -Body <パラメータ>
ヘッダー -H|–header <XXX> -Headers <XXX>
ファイルダウンロード保存先 -o|–output <保存先のファイルパス> -OutFile <保存先のファイルパス>
この記事がお役に立ちましたらシェアお願いします
4,798 views

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です