早上人们stackoverflow,

我有一个Google无法帮助我解决的问题。

我们有一个API,可使用以下代码进行身份验证:

$DeviceNumber = Read-Host "Enter device number"
$URL= "https://URL.diskspace.website.com/v1/"
$pass = 'password123'
$postParam = '{"password":"$pass"}'
$AuthToken = ""


#Log in to the URL
$IWRLogin = Invoke-WebRequest -Method Post -Uri $URL/login/$env:username -ContentType application/json -Body $postParam

这将返回一个身份验证代码,然后在使用API​​时将对其进行解析。

但是,上述方法不起作用。为此,我需要对密码进行硬编码,如下所示:
$postParam = '{"password":"password123"}'

理想情况下,我希望让用户输入其密码,然后将其存储并在调用webrequest的正文中使用。实际上,我想使用powershell的get-credentials功能,因为这将对密码进行加密,而密码始终是好的。

请大家帮帮我:)

PS。变量是随机的,以隐藏敏感信息,如果这没有意义,这就是原因。

最佳答案

$pass = 'password123'
$postParam = @{ "password" = "$pass" }
$json = ConvertTo-Json $postParam

并在Invoke-WebRequest调用中使用$ json变量。

关于windows - 调用webrequest-包含变量的主体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32837474/

10-12 23:52