gpt4 book ai didi

c# - 需要在 HttpWebResponse 中访问 HttpOnly cookie

转载 作者:行者123 更新时间:2023-11-30 18:17:57 27 4
gpt4 key购买 nike

我正在尝试使用 POST 方法自动登录网站,除了我的 HttPWebResponse 方法方便地跳过标记为 HttpOnly 的 cookie 之外,一切似乎都运行良好。有什么方法可以让我阅读它。

 public CookieContainer _cookies = new CookieContainer();

在我的代码中

request.CookieContainer = _cookies;

我读过,当使用 CookieContainer 时,我不应该担心读取 HttpOnly cookie,因为它们是自动处理的。但显然情况并非如此。使用 fiddler 我确实看到我得到了 4 个 cookie,但是 response.Cookies 大小如果为 3 并且使用相同的代码会导致下一个请求被拒绝。请帮忙!!

完整代码如下:

HttpWebRequest request = CreateRequest(uri);
request.Method = "POST";
request.GetRequestStream().Write(data, 0, data.Length);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
return DecodeResponse(response);

DecodeResponse 的工作原理如下

foreach (System.Net.Cookie cookie in response.Cookies)
{
Console.WriteLine("Cookie:");
Console.WriteLine(cookie.HttpOnly);

_cookies.Add(new Uri(response.ResponseUri.GetLeftPart(UriPartial.Authority)), cookie);

最佳答案

Cookie HttpOnly Determines whether a page script or other active content can access this cookie.

如果 cookie 具有 HttpOnly 属性且无法通过客户端脚本访问,则以下代码返回 true;否则为假。

    var _cookies = new CookieContainer();
var request = (HttpWebRequest)WebRequest.Create("http://yourURL.com");
request.CookieContainer = _cookies;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
foreach (Cookie cook in response.Cookies)
{
Console.WriteLine("Cookie:");
Console.WriteLine(cook.HttpOnly);
}

关于c# - 需要在 HttpWebResponse 中访问 HttpOnly cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42607754/

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