C# 为什么我的GET请求没有捕获任何cookie?
因此,我对HttpWebRequests和System.Net进行了一些试验;我用POSTMAN做了一个GET请求,得到了3个cookies,现在我用C#做了同样的请求,但它似乎根本没有返回任何cookies。 或者可能,但可能是我做得不好。 什么是执行GET请求和捕获cookies的最佳方式,以便我以后可以在发布时使用它们 这就是我得到的。 而且好像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() {
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;
}