首页 > 解决方案 > PowerShell 2.0 的 PowerShell Webrequest POST

问题描述

如何在 Windows 7 上为 PowerShell 版本 2.0 修改此代码段?

$path = "myfolder/file.txt"
$body = "file=$(Get-Content $path | Out-String)"
Invoke-WebRequest -Uri "http//mywebsite" -Method POST -Body $body`

我试过了,但无法在 PowerShell 2.0 版上运行。有什么建议么?

标签: postpowershell-2.0

解决方案


Invoke-webRequest 存在于 PowerShell v3.0 [参考 - https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-6]

解决这个问题有两种方法,一种可以将powershell版本更新到3或以上,否则使用以下cmdlet执行WebRequest。

$WebRequest = [System.Net.WebRequest]::Create("http://url")
$WebRequest.Method = "GET"
$WebRequest.ContentType = "application/json"
$Response = $WebRequest.GetResponse()
$ResponseStream = $Response.GetResponseStream()
$ReadStream = New-Object System.IO.StreamReader $ResponseStream
$Data=$ReadStream.ReadToEnd()

推荐阅读