最近,我使用curl
根据我的签名帐户抓取stackoverflow.com推荐的问题列表。
目前,为了在HTTP请求中注册我的帐户信息,我将标题+ cookie(由我的浏览器显示)复制并粘贴到文件中,写了一个脚本,其中curl
用于抓取数据
但是,正如我所注意到的,浏览器发送的Cookie
字段中的某些键(如__utma
和__utmb
)会定期更改,因此我必须更新我的Cookie值相应的脚本,否则,我将无法根据我的帐户信息获得结果。
这方面的必要更新确实非常麻烦。
我的困惑是: 1,为什么cookie字段(由浏览器发送)会定期更改?这背后的原因是什么? 2,有没有让CURL像浏览器一样运行,以便它能像浏览器一样调整cookie?
答案 0 :(得分:0)
1 - 服务器对“cookie”进行“设置”,如果客户端匹配相同的服务器+路径等,则客户端只会将它们发回。服务器可以很好地将cookie一遍又一遍地设置为新值,然后浏览器(或curl)当然需要发回正确的内容。
2 - 只要使用HTTP设置cookie(参见http-cookies以获取概述),但如果cookie由例如javascript设置,则curl将不会模仿浏览器,因为curl不会在浏览器运行时运行任何此类程序。