gpt4 book ai didi

powershell - 从 webrequest 中读取 `Set-Cookie` header 并在 powershell 中发送 cookie 详细信息

转载 作者:行者123 更新时间:2023-12-05 03:01:49 27 4
gpt4 key购买 nike

我只使用 powershell。

我有一个 url 来先登录:https://.../login with credentials

[string]$url = "http://blabla";
[string]$login = "$url/login";
[string]$user = "admin";
[string]$pass = "tester";
[string]$qs = "username=$user&password=$pass";

Invoke-WebRequest $login -Method Post -Body $qs -UseBasicParsing -SessionVariable session;

我从服务器得到了一些答案,比如:

Content-Length: 3 
Content-Type: text/plain; charset=UTF-8
Set-Cookie: SID=....; path=/

通过调用该请求,我想获取 cookie SID,并在以后的调用中使用它:

Invoke-WebRequest $test -Method GET -UseBasicParsing -WebSession $session;

但是我得到了 403 错误。

如何为 $test 请求传递该 cookie?

最佳答案

如果您想从请求中手动提取 Set-Cookie header ,您需要从响应中捕获它:

$response = Invoke-WebRequest $login ...
$response.Headers['Set-Cookie'] | ? { $_ -match '^SID' }

但我想指出,当您使用 SessionVariable 参数时,您已经捕获了您的 cookie:

$session.Cookies.GetCookies($url)

您可以通过以下方式将这些 cookie 传递给新请求:

Invoke-WebRequest ... -WebSession $session

关于powershell - 从 webrequest 中读取 `Set-Cookie` header 并在 powershell 中发送 cookie 详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55514791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com