C# 为什么我的GET请求没有捕获任何cookie?

C# 为什么我的GET请求没有捕获任何cookie?,c#,.net,cookies,httpwebrequest,httpwebresponse,C#,.net,Cookies,Httpwebrequest,Httpwebresponse,因此,我对HttpWebRequests和System.Net进行了一些试验;我用POSTMAN做了一个GET请求,得到了3个cookies,现在我用C#做了同样的请求,但它似乎根本没有返回任何cookies。 或者可能,但可能是我做得不好。 什么是执行GET请求和捕获cookies的最佳方式,以便我以后可以在发布时使用它们 这就是我得到的。 而且好像cookieContainer一旦运行完毕就为空,我也尝试过调试 public static void TestGET() {

因此,我对HttpWebRequests和System.Net进行了一些试验;我用POSTMAN做了一个GET请求,得到了3个cookies,现在我用C#做了同样的请求,但它似乎根本没有返回任何cookies。 或者可能,但可能是我做得不好。 什么是执行GET请求和捕获cookies的最佳方式,以便我以后可以在发布时使用它们

这就是我得到的。 而且好像
cookieContainer
一旦运行完毕就为空,我也尝试过调试

public static void TestGET()
        {
            var request = (HttpWebRequest)WebRequest.Create("https://www.instagram.com/accounts/emailsignup/");
            var cookieContainer = new CookieContainer();

            using (var httpWebResponse = (HttpWebResponse)request.GetResponse())
            {
                using (var streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
                {
                    foreach (Cookie cookie in httpWebResponse.Cookies)
                    {
                        cookieContainer.Add(cookie);
                    }
                }
            }
        }

您正在谈论响应标题中的3个设置cookie值。如果是这样,下面的代码将得到这些

如果您正在使用HttpWebResponse(这就是您正在使用的)

如果您使用的是HttpResponseMessage:

if (httpResponse.Headers.TryGetValues("Set-Cookie", out values))
{
    var session = values;
}
cookie容器为空,因为httpWebResponse.cookie也为空

参考资料:

if (httpResponse.Headers.TryGetValues("Set-Cookie", out values))
{
    var session = values;
}