我陷入了与cookie相关的问题。我想编写一个程序,可以自动下载this论坛的附件。所以我应该维护这个网站发给我的cookies。当我在我的程序中向the login page发送GET请求时,我得到了诸如 Set-Cookie:sso_sid = 0589a967之类的cookie; domain = .it168.com 在我的程序中。现在,如果我使用cookie monster之类的cookie查看器并发送相同的GET请求,我的程序会得到相同的结果,但cookie查看器显示该网站还向我发送了两个cookie: testcookie http://get2know.it/myimages/2009-12-27_072438.jpg和token http://get2know.it/myimages/2009-12-27_072442.jpg
我的问题是:这两个cookie来自哪里?为什么他们没有在我的课程中展示? 感谢。
答案 0 :(得分:2)
最好的办法是找出像这样的屏幕抓取问题,使用Fiddler。使用Fiddler,您可以准确地比较应用程序中的内容与从浏览器访问站点时的内容。我怀疑你会发现你的应用程序发送的标题与浏览器发送的标题之间存在一些差异 - 这可能会说明你所看到的差异。
接下来,您可以执行以下两项操作之一:
就个人而言,我喜欢选项#2,因为它需要最少量的标题设置代码,尽管最初要弄清楚网站需要哪些标题更难。
关于你为什么看到2个cookie的实际问题,只有上面的诊断会告诉你,但我怀疑它可能与某些网站用来检测不接受cookie的客户的机制有关。在会话中的第一个请求中,许多站点将“探测”客户端以查看客户端是否接受cookie。通常他们会这样做:
无论如何,这是你最终得到两个cookie的一种方式。但是,只有使用Fiddler(或类似工具)进行诊断才能确定。