1

我正在开发一个需要登录网站 www.example.com 的应用程序,该应用程序使用 HTTPWebRequest 类和 CookieJar 来处理 Cookie。

我遇到的问题是,在某些计算机上,该过程工作得很好,但在其他一些计算机上(比例为 1-1)却没有,没有任何 SO/IE 版本模式。

我已经尝试记录每个 GET 和 POST 请求,这就是问题所在:

工作要求

内容类型:application/x-www-form-urlencoded

用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0

推荐人:http : //account.example.com/login

主机:main.example.com

Cookie:ASP.NET_SessionId=gw5i1u55h5dz1uuydwhvu2er;ISBets_CurrentCulture=1;ISBetsForm=AAAA;SESSb3ef0b97a175642ae0744781875xxxxx=00000157671f81d4ea9f3589198768d4;授权缓存=59c1bd;drupal_user=foo;drupal_uid=543; isib_name=foo+bar

不工作请求

内容类型:application/x-www-form-urlencoded

用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0

推荐人:http : //account.example.com/login

主机:main.example.com

Cookie:ASP.NET_SessionId=gw5i1u55h5dz1uuydwhvu2er;ISBets_CurrentCulture=1;ISBetsForm=AAAA;

应用程序是相同的,每次重新启动程序时,我都会使用带有空 cookiejar 的 HTTPWebRequest,这些是应用程序的第一个POST 请求的请求标头:所以,我的问题是,为什么这两个不同?第一次使用时 cookiejar 不应该是空的吗?那么,额外的 cookie 是从哪里来的呢?

经过其他一些测试,我开始怀疑跨域“技巧”是整个问题,但同样,IE 中的一个选项是否有可能使这个 Set-Cookie 出错:

设置 Cookie:SESSb3ef0b97a175642ae0744781875xxxxx=00000157671f81d4ea9f3589198768d4;过期=格林威治标准时间 2013 年 3 月 18 日星期一 23:48:14;路径=/; 域=.example.com;HttpOnly,authcache=59c1bd; 过期=格林威治标准时间 2013 年 3 月 18 日星期一 23:48:14;路径=/; 域=.example.com,drupal_user=foo;过期=格林威治标准时间 2013 年 3 月 18 日星期一 23:48:14;路径=/; 域=.example.com,drupal_uid=543;过期=格林威治标准时间 2013 年 3 月 18 日星期一 23:48:14;路径=/; 域=.example.com,isib_name=foo+bar;过期=格林威治标准时间 2013 年 3 月 18 日星期一 23:48:14;路径=/; 域=.example.com

4

0 回答 0