所以我在这里发现了一些代码,这使得使用cookie的网站登录变得非常简单。
public class WebClientEx : WebClient
{
public CookieContainer CookieContainer { get; private set; }
public WebClientEx()
{
CookieContainer = new CookieContainer();
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = CookieContainer;
(request as HttpWebRequest).AllowAutoRedirect = true;
}
return request;
}
}
我已经使用它几个星期来登录一个网站,一切都运行得很好但突然,几天前我发现我无法再登录 - 服务器将我重定向到登录页面。所以我开始寻找使用FireBug的原因。我发现在Response Headers
中有一个Location
字段,其中包含指向重定向的链接。我的AllowAutoRedirect
已转为true
,因此我无法找到原因导致此操作无效的原因。在visual studio中,当AutoRedirect为true时,Location字段的值为null
;如果为false,则为/?AspxAutoDetectCookieSupport=1
。我无法找到隐藏在Visual Studio中的重定向链接的地方......有人知道如何解决这个问题吗?
先谢谢