【问题标题】:Using CURL to handle all the cookie stuff like a browser?使用 CURL 来处理像浏览器一样的所有 cookie 内容?
【发布时间】:2013-10-06 23:14:00
【问题描述】:

最近我正在使用curl根据我的登录帐户从stackoverflow.com抓取推荐的问题列表。

目前,为了在HTTP请求中注册我的帐户信息,我将标题+cookies(由我的浏览器显示)复制并粘贴到一个文件中,编写了一个脚本,其中curl用于抓取数据。

但是,正如我所注意到的,Cookie 字段中的某些键,如浏览器发送的 __utma__utmb,会定期更改,因此我必须相应地更新脚本中的 cookie 值,否则,我将无法根据我的帐户信息获得结果。

我这边的这个必要更新确实很麻烦。

我的困惑是: 1、为什么浏览器发送的cookie字段经常变化?这背后的原因是什么? 2、有没有办法让CURL表现得像浏览器一样,让它能像浏览器一样适配cookie?

【问题讨论】:

    标签: http web-crawler session-cookies


    【解决方案1】:

    1 - cookie 由服务器“设置”,并且客户端仅在它们与设置时相同的服务器+路径等匹配时才将它们发回。服务器可以很好地反复将 cookie 设置为新值,然后浏览器(或 curl)当然需要发回正确的内容。

    2 - 只要使用 HTTP 设置 cookie 就可以(请参阅http-cookies 了解概述),但如果 cookie 是由例如 javascript 设置的,则 curl 不会模仿浏览器,因为 curl 不会运行浏览器执行的任何此类程序。

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      相关资源
      最近更新 更多