以编程方式获取.ASPXAUTH cookie值

时间:2010-05-27 13:13:05

标签: c# cookies httpwebrequest

有没有办法以编程方式获取.ASPXAUTH值。

示例我使用自己的凭据(POST)登录网站,然后阅读响应...它不会返回我用来跟踪会话的CookieContainer中的.APSXAUTH。

任何人都有一个线索,我怎么能得到它并随后发送和发送它?

[编辑] 以下是我要做的更具体的事情:

  • 将HTTP GET发送到页面。读取_VIEWSTATE等值。
  • 将HTTP POST发送到“登录”页面。它包括登录信息。
  • 服务器向某个默认页面发送302响应(重定向)。应该包含表单身份验证cookie,但事实并非如此。

所以我认为可能有更好的方法来跟踪会话:

CookieContainer _cookieJar = new CookieContainer();

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_url);
request.CookieContainer = _cookieJar;

1 个答案:

答案 0 :(得分:1)

总结答案:

如果您尝试通过自己的应用程序以编程方式登录基于表单的身份验证网站,请确保按照跟踪Cookie的步骤进行操作。

首先创建一个初始GET请求,然后执行将执行回发的后续POST请求。请求和响应应以这种方式表达:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_url);
request.CookieContainer = _cookieJar;
HttpWebResponse httpsResponse = (HttpWebResponse)request.GetResponse();

CookieContainer类按预期处理cookie。

如果您的回复是使用Gzip编码的,请包含以下行:

request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
在致电request.GetResponse()

之前

希望这可以帮助那些人。