本シリーズのトップページ |
---|
https://qiita.com/robozushi10/items/0b0605257ad39bc22895 |
はじめに
REST API などの操作で curl コマンドを使用する頻度が高い.
PowerShell には invoke-webrequest コマンドが curl に相当するようだが、Linux ベースの curl とはオプションが異なっており困惑する.
そこで私は 別途 curl を配置して Linux と同じオプションにすることが多いので、ご紹介する
環境
Windows 10 Pro
PowerShell バージョン 6系
処理概要
次の 1〜3 の処理をする
1. https://curl.se/download.html からポータブル形式の curl をダウンロードする
2. 上記 1 でダウンロードした curl.exe を配置する
3. バッチの中から上記 2 の curl.exe を使用する
詳細
1. https://curl.se/download.html からポータブル形式の curl をダウンロードする
https://curl.se/download.html から、次をダウンロード入手する
2. 上記 1 でダウンロードした curl.exe を配置する
今回は次のように配置した.
環境変数 PATH が通っているところに置くかどうかは各自ご自由に.
C:\Program Files\curl-7.66.0-win64-mingw\bin\curl.exe
3. バッチの中から上記 2 の curl.exe を使用する
Jenkins に対して命令を出す場合を例にする
# 実行時のコマンドとパラメータが複雑なので, Bash でいう「eval $CLI」相当で実行する
# 実行コマンドと引数の書式を組み立てる
$CLI = "&'C:\Program Files\curl-7.66.0-win64-mingw\bin\curl' -f -v -X POST --user '<ユーザ名>:<APIキー>' http://<IP>:<ポート>/job/<ジョブ名>/buildWithParameters"
# コマンドとして評価する. Invoke-Expression が eval コマンドに相当する.
# 出力ログがうるさいので /dev/null 相当に捨てている
Invoke-Expression $CLI | Out-Null
以上.
参考にしたサイト
URL |
---|
https://ascii.jp/elem/000/004/021/4021036/ |