【PowerShell】WebページからCookieを取得する方法


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

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を取得してみて下さい。

コメント

タイトルとURLをコピーしました