Chapter 6. PowerShell and the Internet

PowerShell interacts really well with the Web—it’s able to access files, XML, JSON, web services, and more directly from the Internet. PowerShell does not have cURL (http://bit.ly/9mSnL7) or GNU Wget (http://bit.ly/XAhQh) support out of the box, but because it is an amazing glue language that is deeply integrated with the .NET Framework, one area where its capabilities really shine is in connecting a set of powerful underlying components. PowerShell v3 makes this even easier using the cmdlets Invoke-WebRequest, Invoke-RestMethod, ConvertTo-Json, and ConvertFrom-Json.

It’s interesting to note that, even though PowerShell was envisioned over a decade ago and v2 was delivered back in 2009, it is able to keep pace with daily development needs.

Taking advantage over the Web of something like JavaScript Object Notation (JSON; http://bit.ly/1HwvBY), a lightweight data-interchange format, is easy using .NET libraries designed to parse it and present it in a way that’s consumable by PowerShell.

In this chapter, I’ll demonstrate code that will let you pull down differently formatted information from websites. The amount of public information available is enormous. Contributed by individuals, companies, and governments, these huge datasets can give us insight into myriad subjects and can be easily accessed via PowerShell.

Net.WebClient

One cool PowerShell demo I like to give is showing how to pull down the details of a blog’s RSS feed (http://bit.ly/QWNVt ...

Get Windows PowerShell for Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.