【问题标题】:How to set persistent storage for curl cookies?如何为 curl cookie 设置持久存储?
【发布时间】:2012-03-24 05:35:08
【问题描述】:
self.c.setopt(self.c.COOKIEFILE, 'cookie.txt')

但是,没有创建文件。我想要的是从文件中存储和读取 cookie,以便在应用程序重新启动后它们可以持久存在。

和COOKIEJAR选项有关系吗?

【问题讨论】:

    标签: python curl pycurl


    【解决方案1】:

    是的。 COOKIEFILE 是用作会话 cookie 源的文件,COOKIEJAR 是应存储会话中 cookie 的文件。

    self.c.setopt(self.c.COOKIEFILE, 'cookie.txt')
    self.c.setopt(self.c.COOKIEJAR, 'cookie.txt')
    

    请注意(取决于您的脚本的使用方式)cookie 文件的相对路径可能会给您带来意想不到的结果。

    【讨论】:

    • 这不会创建 cookie.txt 文件,即使我指定像 c:\\cookie.txt 这样的绝对路径。
    • 服务器是否发送cookies?查看 COOKIEJAR 文档中的调试说明。
    • 是的,我可以在 Fiddler 中看到 cookie 是使用 Set-Cookie 发送的。
    • 此外,在收到数据时,我可以在日志* Added cookie 中看到为 curl 启用 VERBOSE 模式。还会发送 cookie 以进行后续重定向,这意味着它们存储在 curl 内部而不是文件对象中。
    • 根据文档,cookie文件是在调用curl_easy_cleanup时写入的——你调用self.c.close()吗?
    猜你喜欢
    • 1970-01-01
    • 2012-12-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多