команда cURL to Invoke-Webrequest - PullRequest
       64

команда cURL to Invoke-Webrequest

0 голосов
/ 04 февраля 2019

Может кто-нибудь подсказать, как преобразовать следующую команду curl в PS Invoke-Webrequest?

curl -d {\"password\":\"$password\"\} $vault/v1/auth/userpass/login/${login,,}

У меня есть некоторые мысли по этому поводу, но я не могу понять, как это закончить:

$vault="3.3.3.3:8500"
$pair = (Get-Credential)
$params = ????
$login = $pair.getNetworkCredential().username
$pass = $pair.getNetworkCredential().password

Invoke-WebRequest $url -Method Post -Credential $pair -Body $params -UseBasicParsing

Как правильно передать $ params, как в запросе curl?

1 Ответ

0 голосов
/ 04 февраля 2019

Параметры должны быть хеш-таблицей @{}.

$Params = @{
    Username="TestName";
    Password="TestPassword";
    Places = @("Here","There");
}

Вот пример использования тестового API под названием jsonplaceholder

$url = 'https://jsonplaceholder.typicode.com/posts'

$params = @{
    title: 'foo'
    body: 'bar'
    userId:1
}

(Invoke-WebRequest $url -Method Post -Body $params -UseBasicParsing).content | ConvertFrom-JSON

Ответ

                                                     id
title: 'foo'                                       
body: 'bar'                                        
userId:1                                           

---------------------------------------------------  --
                                                    101
...