问题描述
我正在尝试向 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
https://www.footlocker.dk/ 没有设置此类 cookie。请记住,如果你通过调用,你会看到多个 cookie 集,并且你不能绝对确定你需要哪一个来使事情工作,尽管我相信你可以通过制作获得你需要的 cookie会话调用。
最终的 cookie 定义如下所示: