Powershell使用NTLM调用WebRequest作为帖子

时间:2018-01-26 15:59:24

标签: rest powershell ntlm

初步问题

如何使用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)未经授权

1 个答案:

答案 0 :(得分:5)

只需使用-UseDefaultCredentials 试图操纵NTLM的标题是一项艰苦的工作。这是一个痛苦的挑战回应。让PS完成工作......