最初问题
如何在Powershell中使用Invoke-WebRequest或类似命令,以便使用NTLM身份验证并提供用于POST的正文。
示例
下面是我的示例代码,使用Invoke-WebRequest进行POST请求,并将响应传输到.json文件。用户名和密码变量未包含在示例中。
$myURL = https://example.blah.etc
$params = @" {""EXAMPLE1":"STUFF"} "@
$Headers = @{ Authorization = "Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $Username,$Password))) }
Invoke-WebRequest -Uri $myURL -Headers $Headers -Method POST -ContentType "application/json" -Body $params | Select-Object -ExpandProperty Content > "C:\output.json"
更新
-UseDefaultCredentials 只适用于获取,不适用于发布。
错误响应
远程服务器返回错误:(401) 未经授权。
-SessionVariable
),然后使用已保存的会话进行POST。 - n01d