Powershell使用NTLM调用WebRequest以获取post

x6h2sr28  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(139)

初始问题

我如何使用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仅适用于获取,而不适用于发布。

错误响应

远程服务器返回错误:(401)未经授权

njthzxwz

njthzxwz1#

使用-UseDefaultCredentials
试图操纵NTLM的标头是一项艰苦的工作。这是一个痛苦的挑战响应。让PS来做这项工作...

相关问题