如何使用Powershell执行Invoke-WebRequest或类似操作,以便使用NTLM身份验证,但也为帖子提供正文。
下面的代码示例是我使用调用Web请求和管道响应输出到.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仅适用于Gets,不适用于帖子。
远程服务器返回错误:(401)未经授权
答案 0 :(得分:5)
只需使用-UseDefaultCredentials 试图操纵NTLM的标题是一项艰苦的工作。这是一个痛苦的挑战回应。让PS完成工作......