我使用Webclient类,首先我用它做一个Post请求,并将登录数据发送到服务器。从这篇文章中我想要CookieContainer,但是我怎么才能得到这个呢?在此之后,我想向同一服务器发送一个Get请求,现在使用Post请求中的CookieContainer。所以我首先想要获取cookie,然后想要设置它。但是它是如何与Webclient类一起工作的呢?我找到了类似这样的东西:
public class CookieAwareWebClient : WebClient
{
private readonly CookieContainer m_container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
webRequest.CookieContainer = m_container;
}
return request;
}
}但是使用这个类时,我不能在Get请求中使用来自Post请求的CookieContainer。
发布于 2014-04-30 15:46:16
你能试试这个吗?
public class CookieAwareWebClient : WebClient
{
private static CookieContainer m_container = null;
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (m_container != null)
{
webRequest.CookieContainer = m_container;// will be called from the second time onwards
}
else
{
webRequest.CookieContainer = new CookieContainer();// First time
m_container = webRequest.CookieContainer; // Copy the container after the post is success
}
return request;
}
}https://stackoverflow.com/questions/23381944
复制相似问题