O'Reilly logo

Windows PowerShell for Developers by Douglas Finke

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required