PowerShell版本2的Invoke-WebRequest

时间:2015-04-24 18:15:32

标签: powershell windows-server-2003

与PowerShell版本2中的Invoke-WebRequest函数相同。这是我尝试使用我的函数,因为我无法升级到PowerShell 4,因为我正在使用Windows Server 2003。

Invoke-WebRequest $uri -Body ($baseMessage | ConvertTo-Json -Compress) -Method Post -ContentType "application/json" 

谢谢

2 个答案:

答案 0 :(得分:3)

$Web = New-Object System.Net.WebClient
$Web.OpenRead($url)
$PageContents = New-Object System.IO.StreamReader($Web)
$PageContents.ReadToEnd()

如果您要提交JSON数据,可以使用此代码:

$Encoding = [System.Text.Encoding]::GetEncoding("ASCII")
$postArray = $Encoding.GetBytes($json)
$Web = [System.Net.WebRequest]::Create($url)
$Web.Method = "POST"
$Web.Timeout = 10000;
$Stream = $Web.GetRequestStream()
$Stream.Write($postArray, 0, $postArray.Length)
$Web.GetResponse()

https://msdn.microsoft.com/en-us/library/System.Net.WebClient_methods(v=vs.80).aspx

在stackoverflow上找到另一个类似的问题:

PowerShell WebRequest POST

答案 1 :(得分:1)

您可以在powershell v2中使用System.Net.Webrequest .NET类。

从我的一个powershell答案中查看此示例: Powershell - View Website Source Information

并且回答这个显示如何设置json内容类型,尽管在C#中 How to get json response using system.net.webrequest in c#?