Cookies 关于饼干的问题

Cookies 关于饼干的问题,cookies,Cookies,我陷入了一个与饼干有关的问题。我想写一个程序,可以自动下载论坛的附件。所以我应该维护这个网站发送给我的cookies。当我在程序中向发送GET请求时,我得到了cookie,例如Set cookie:sso_sid=0589a967;domain=.it168.com在我的程序中。现在,如果我使用cookie查看器(如and)发送相同的GET请求,我的程序会得到相同的结果,但cookie查看器显示站点也会向我发送两个cookie,它们是: 及 我的问题是:这两块饼干是从哪里来的?为什么它们没有出现

我陷入了一个与饼干有关的问题。我想写一个程序,可以自动下载论坛的附件。所以我应该维护这个网站发送给我的cookies。当我在程序中向发送GET请求时,我得到了cookie,例如Set cookie:sso_sid=0589a967;domain=.it168.com在我的程序中。现在,如果我使用cookie查看器(如and)发送相同的GET请求,我的程序会得到相同的结果,但cookie查看器显示站点也会向我发送两个cookie,它们是: 及

我的问题是:这两块饼干是从哪里来的?为什么它们没有出现在我的节目中?
谢谢。

要解决像这样的屏幕刮屏问题,最好的办法就是使用。使用Fiddler,您可以准确地比较应用程序中的内容与从浏览器访问站点时的内容。我想你会看到应用程序发送的头与浏览器发送的头之间的一些差异——这可能是你看到的差异的原因

接下来,您可以执行以下两项操作之一:

  • 更改你的应用程序,使其发送的标题与浏览器发送的标题完全相同(如果这样做,你应该得到与真正的浏览器完全相同的响应)
  • 使用Fiddler的“请求生成器”功能,开始逐个删除头并重新发出请求。在某个时刻,您将删除一个使响应与您要查找的响应不匹配的头。这意味着头是必需的。继续对所有其他标题执行操作,直到您拥有站点生成所需响应所需的标题列表 就个人而言,我喜欢选项#2,因为它需要最少的标题设置代码,尽管最初很难确定站点需要哪些标题

    关于你为什么会看到2个cookie的实际问题,只有上面的诊断可以肯定地告诉你,但我怀疑这可能与一些网站用来检测不接受cookie的客户的机制有关。在会话的第一个请求中,许多站点将“探测”客户机,以查看该客户机是否接受cookie。通常他们会这样做:

    • 如果请求上没有cookie,站点将把客户端重定向到一个特殊的“cookie设置”URL
    • 重定向响应除了具有执行重定向的Location:header之外,还将返回一个Set Cookie header来设置Cookie。重定向通常包含原始URL作为查询字符串参数
    • “cookiesetter”页面的服务器端处理程序随后将查看传入的cookie。如果为空,这意味着用户的浏览器设置为不接受cookies,站点通常会将用户重定向到“抱歉,您必须使用cookies才能使用此站点”页面
    • 但是,如果存在发送到“cookie setter”URL的cookie头,那么客户端实际上接受cookie,并且处理程序将简单地将客户端重定向回原始URL
    • 一旦您转到下一页,原始URL可能会添加额外的cookie(例如,用于登录令牌)

    不管怎么说,这是一种你可以得到两块饼干的方法。不过,只有通过Fiddler(或类似工具)进行诊断才能确定答案。

    您的问题很难解决。这些饼干显然来自itpub.net。你是在问他们为什么会被发送吗?你能给我一些密码吗?你用哪种语言来做这件事?请发布你用来生成http请求的确切代码。谢谢,你给了我一个解决这个特殊问题的策略。我试试看。