Display all content with Invoke-WebRequest
curl, powershell
Solution
Unlike the `curl` command line utility `Invoke-WebRequest` returns an object with various properties of which the content of the requested document is just one. You can get the content in a single statement by expanding the property like this:
Invoke-WebRequest 'http://www.example.org/' | Select-Object -Expand Content
or by getting the property value via dot-notation like this:
(Invoke-WebRequest 'http://www.example.org/').Content
Alternatively you could use the Windows port of `curl`:
& curl.exe 'http://www.example.org/'
Call the program with its extension to distinguish it from the alias `curl` for `Invoke-WebRequest`.
Problem
So I decided to start using PowerShell rather than Command Prompt. And I want to run `curl`. Very different output then discover that `curl` is an alias to `Invoke-WebRequest` in PowerShell. Using PowerShell `curl` in the same way as real `curl`, I only get part of the content displayed. I have seen that I can put the output of PowerShell `curl` into a variable and then use `$variable.Content` to display all of the content but that seems extra work over real `curl`. Is there an option to show all of the content directly? I can't see one in the help.