PowerShellのInvoke-RestMethodコマンドレットを使用して、ネットワーク上にあるWebページからCookie(クッキー)を取得する方法を解説します。
はじめに
以前、Invoke-WebRequestコマンドレットを使用して、WebページのHTMLソースコードを取得する方法を解説しました。
今回は、Invoke-RestMethodコマンドレットで、WebページのCookieを取得する方法を解説します。
Cookieを取得する流れは下記のようになります。
1.Webページのセッション情報を取得する。
2.取得したセッション情報から、Cookieを抽出する。
リンク
1.Webページからセッション情報を取得する
まず、Webページからセッション情報を取得します。
サンプル
下記がセッション情報を取得するサンプルになります。
変数「uri」には、取得するWebページのURLを記述して下さい。
$uri = '<WebページのURL>'
$headers = @{'Content-type'='application/json';}
Invoke-RestMethod -Method Get -Uri $uri -Headers $headers -SessionVariable loginSession
このサンプルを実行することで、変数「loginSession」にWebページから取得したセッション情報が格納されます。
リンク
2.セッション情報からCookieを抽出する
次に、セッション情報からCookieを抽出します。
サンプル
セッション情報からCookieを取得するサンプルになります。
$cookies = $loginSession.Cookies.GetCookies($uri)
$cookies
実行結果
取得したCookieの内容になります。
Comment : CommentUri : HttpOnly : False Discard : False Domain : 192.168.88.111 Expired : False Expires : 0001/01/01 0:00:00 Name : csrftoken Path : / Port : Secure : False TimeStamp : 2022/07/24 1:51:55 Value : 07faafa56N9fa1AjEIS8sTJfLwuKppT Version : 0
記事は以上です。Webページをスクレイピングするうえで、Cookieを使用する場面は多々あります。
本記事を参考に、Cookieを取得してみて下さい。
リンク
コメント