$Ret=Invoke-WebRequest $LOGIN_URL -SessionVariable fb; ってすると、
$fbという変数にセッションが保存されます。
あとは、フィールドにユーザ名とパスワードを入力してPOSTする。
ログインしたあとは、
$Ret=Invoke-WebRequest -Uri $URL -WebSession $FB; ってすると、
ログイン状態でHTMLが表示されます。
searchフィールドにワード入れてPOSTすれば使えば、検索結果も表示可能。フィールド名はWEBサイトごとに設定されているのでコードから読む。
ログインのURLもForm.filedから読む。
と言っても、user-agentとかで判定してるのもあるので、うまくいかないときもあり。
ヘッダーとかいろいろと変更すると何とかなるかも。
#------The software is public domain/cc0.
#------BEGIN
$LOGIN_URL = http://aaa.bbb.com;$Ret=Invoke-WebRequest $LOGIN_URL -SessionVariable fb;
$Form = $Ret.Forms[0];
$Form.Fields["username"] = "user@mail.com";
$Form.Fields["password"] = "pass123";
$Ret=Invoke-WebRequest -Uri ($LOGIN_URL + $Form.Action) -WebSession $FB
-Method POST -Body $Form.Fields
#------END
Invoke-WebRequest Powershell5.1
ここのsample2のとこ。
https://docs.microsoft.com/ja-jp/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest?view=powershell-5.1
0 件のコメント:
コメントを投稿