早上的stackoverflow人,
我有一个谷歌无法帮助我解决的问题。
我们使用以下代码验证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。变量是随机的,可以隐藏敏感信息,如果它没有意义那就是为什么......
答案 0 :(得分:2)
$pass = 'password123'
$postParam = @{ "password" = "$pass" }
$json = ConvertTo-Json $postParam
在Invoke-WebRequest调用中使用$ json变量。