在 powershell 中使用带有 cookies 的 Invoke-Webrequest

在 powershell 中使用带有 cookies 的 Invoke-Webrequest

我想知道如何使用 Invoke-WebRequest 并启用 cookie 注册。目前有一个使用 get/set 和 cookie 的网站,它由数千个页面组成。每个页面都包含下一页的 ID,我尝试做一个循环,循环遍历并将我引导到最后一页,但由于 webrequest 不保留 cookie,它一直认为我仍在第 1 页。

我怎样才能启用 webrequest 的 cookie 存储,以便它不会认为我仍然在那里?

答案1

您可以使用 的会话相关开关Invoke-WebRequest。您的第一个请求应该使用-SessionVariable开关来选择将存储 cookie 的变量:

iwr http://example.com/Page1 -SessionVariable session

注意缺少$on session- that 命令创建具有给定名称的变量。执行该命令后,您将拥有一个$session变量,然后可以-WebSession在所有后续请求中将其作为传递:

iwr http://example.com/Page2 -WebSession $session

示例 2Microsoft 文档Invoke-WebRequest展示如何使用此技术登录 Facebook。

相关内容