微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Powershell 获取 StreamResponseBody 并将其保存为 ZIP 文件

如何解决如何使用 Powershell 获取 StreamResponseBody 并将其保存为 ZIP 文件

我正在尝试使用 PowerShell 从标准 http GET 调用提取流响应。

我尝试使用此 Invoke-RestMethod 方法执行类似操作,例如:

$response = Invoke-RestMethod -Uri $uri -Method GET -Headers $headers -Body 

然后尝试做各种事情,例如以这种方式访问​​流响应:

$Stream.Write($response.Content)

$Stream.Write($response.RawContentStream)

但没有任何效果

解决方法

最后,我发现以下命令同时执行调用和响应,并允许您将结果直接保存到文件中。这让我感到惊讶,因为响应是一个多部分记录,包括标题和其他数据,而不仅仅是流中的分块文件。但是 MS 的人显然知道,在 99% 的情况下,对于分块回复,用户只想将流式数据块保存到文件中,而无需其他响应头数据。

  $Response = Invoke-WebRequest @Params -Headers $headers -outfile $TempZipFileName

这里的关键是使用带有 Invoke-WebRequest 选项的 -outfile 调用。这让我省了很多麻烦,而且使用起来超级简单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。