It’s quite simple to invoke WebRequests via Powershell if you have Powershell Version 3.0 or higher:
Invoke-WebRequest "https://arminreiter.com"
If you have Powershell Version 2.0 or 1.0 , you’ll receive the following error:
invoke-webrequest : The term ‘invoke-webrequest’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:18
+ invoke-webrequest <<<< “http://www.codehollow.com”
+ CategoryInfo : ObjectNotFound: (invoke-webrequest:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Because you need the Powershell Version 3.0 or higher as described here: https://technet.microsoft.com/en-us/library/hh849901.aspx
There are two ways how to solve this.
You can install a newer version of Powershell (Version 5.1: https://www.microsoft.com/en-us/download/details.aspx?id=54616). If this is not possible (on the customer server), then you can use the following Powershell script to invoke a web request:
$webrequest = [System.Net.WebRequest]::Create("https://arminreiter.com") $response = $webrequest.GetResponse() $response
If you just want to download the page, then it’s a bit simpler:
(New-Object System.Net.WebClient).DownloadString("https://arminreiter.com")
if you want to use webrequest and read the output – then use a streamreader as in the following script:
function InvokeWebRequest ([string]$url) { try { $webrequest = [System.Net.WebRequest]::Create($url) $response = $webrequest.GetResponse() $stream = $response.GetResponseStream() $sr = new-object System.IO.StreamReader($stream) $content = $sr.ReadToEnd(); return $content } catch { Write-Error $_.Exception.Message } finally { if($sr -ne $null) { $sr.Close(); } if($response -ne $null) { $response.Close(); } } } $content = InvokeWebRequest("https://arminreiter.com") write-host $content
3 Responses
Typo on line 16 ‘$respone’.
thanks, fixed!
[…] https://codehollow.com/2016/02/invoke-webrequests-via-powershell/ […]