微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在向 url 执行请求时不能遍历 cookie?

如何解决为什么在向 url 执行请求时不能遍历 cookie?

我正在尝试向 https://www.footlocker.dk/ 执行获取请求。访问此网址时,我需要获取创建的会话。

我按如下方式执行请求:

            string url = "https://www.footlocker.dk/";

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Proxy = null;
            request.CookieContainer = new CookieContainer();

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {

                foreach (Cookie cookie in response.Cookies)
                {
                    Console.WriteLine("name=" + cookie.Name);
                    Console.WriteLine("value=" + cookie.Value);
                    Console.WriteLine("path=" + cookie.Path);
                    Console.WriteLine("domain=" + cookie.discard);
                    
                }
            }

但是它没有给我任何饼干..

我需要这些 cookie,当我想继续并在之后发出 post 请求时,对这个 url 执行特定操作。

问候!

解决方法

检查响应负载:

您会看到调用:https://www.footlocker.dk/api/session?timestamp=1611587725706 具有如下响应标头:

set-cookie: JSESSIONID=orfy8ma22lox1nd8wxdyf8h4e.fzcxwefapipdb018883; Path=/; HTTPOnly

enter image description here

https://www.footlocker.dk/ 没有设置此类 cookie。请记住,如果你通过调用,你会看到多个 cookie 集,并且你不能绝对确定你需要哪一个来使事情工作,尽管我相信你可以通过制作获得你需要的 cookie会话调用。

最终的 cookie 定义如下所示:

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。