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

Nut*_*tz 5 powershell

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

我怎样才能为 webrequest 启用 cookie 的存储,这样它就不会认为我还在那里?

Ben*_*n N 7

您可以使用Invoke-WebRequest. 您的第一个请求应该使用-SessionVariableswitch 来选择 cookie 将被隐藏的变量:

iwr http://example.com/Page1 -SessionVariable session
Run Code Online (Sandbox Code Playgroud)

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

iwr http://example.com/Page2 -WebSession $session
Run Code Online (Sandbox Code Playgroud)

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