(やり方) Webページをダウンロードする機能は、PowerShellが登場した2006年から利用可能になった。Invoke-WebRequestはPowerShell v3.0で登場し、HTMLやXMLの内容をパースして使いやすくした。代替手段としては、System.Net.WebClient クラスやcurlコマンドがある。ただ、Invoke-WebRequestはよりPowerShellらしい使い勝手が特徴。
Invoke-WebRequest
System.Net.WebClient
curl
方法: PowerShellには専用のHTMLパーサーはネイティブにはありませんが、Invoke-WebRequest コマンドレットを使用してHTMLコンテンツにアクセスし、パースすることができます。より複雑なパースや操作には、人気のある.NETライブラリであるHtmlAgilityPackを使用することができます。
(方法) PowerShellでHTTPリクエストを送るには、Invoke-WebRequest や Invoke-RestMethod コマンドレットを使います。簡単な例を見てみましょう。
Invoke-RestMethod
(やり方) 歴史的背景: 基本認証はHTTP/1.0からある古い方法。古くても、内部ツールなどセキュリティ要件が緩い場面で使われる。 代替手段: もっと安全?OAuthやトークン認証が今は主流。でも、シンプルが一番な時もある。 実装詳細: Basic認証ではAuthorizationヘッダにBasicの後にBase64でエンコードされたusername:passwordを追加します。ただし、HTTPSを使わないと、情報が漏れる可能性があるので要注意。
Authorization
Basic
username:password