如何使用 flurl 获取响应 cookie

How to get a response cookie with flurl

如何使用 flurl 获取响应 cookie?我搜索了一些参考资料并研究了 flurl.dev,但仍然对如何应用它们感到困惑。抱歉我不是程序员,我还有很多东西要学。 我使用的简单代码:

var strUrl = await url
.WithHeaders(new
{
    user_agent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
    content_type = "application/json",
    cookie = "cookie"
})
.PostJsonAsync(new
{
    user = "user",
    password = "password"
})
.ReceiveString();

结果:200 OK

这里的问题是,当您调用 ReceiveString() 时,您将获得响应正文并有效地丢弃 PostJsonAsync 返回的响应消息的其他方面。您可以像这样在单独的步骤中获取响应、cookie 和正文:

var resp = await url
    .WithHeaders(...)
    .PostJsonAsync(...);
    
var cookies = resp.Cookies; // list of FlurlCookie objects
var body = await resp.GetStringAsync();