早上人们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/