【问题标题】:how to make curl accept secure cookies overt http connection如何使 curl 接受安全 cookie 公开的 http 连接
【发布时间】:2020-06-14 05:19:19
【问题描述】:

我正在使用 curl 连接到发送回安全标记 cookie 的 http 服务器,我发现 curl 不处理此类 cookie(通过 http 连接接收的安全 cookie),换句话说:即使使用 @987654321 @switch,这样的cookies不会被保存。

一种解决方法是使用-D 开关保存所有标头,然后手动(从外部到 curl)从文件中读取 cookie 并将其设置在 curl 命令中以将其发送回服务器。

我想知道是否有可能(可能是我缺少一些 curl 选项)让 curl 支持此类 cookie?我试图查看 curl 手册,但对我的用例没有任何用处。

提前致谢,

【问题讨论】:

    标签: http curl cookies insecure-connection


    【解决方案1】:

    TL;DR:在最新版本的 cURL 中,不再可能使用secure 属性以及 cookie 相关开关保存 cookie。

    根据documentation cURL 删除了使用secure 属性保存cookie 的功能,以满足RFC 草案draft-ietf-httpbis-cookie-alone-01。该 RFC 草案规定,secure cookie 仅应由 HTTP 客户端处理、保存或覆盖,前提是该 cookie 是通过 HTTPS 传输的。

    我只是偶然发现了完全相同的问题,所以我可以提供两种选择:

    1. 在实现该功能之前使用 cURL 版本
    2. 使用curl -icurl -D 手动转储标头并提取cookie
      • 示例保存所有secure cookie 并将它们保存在文件cookies.txt
       curl -i http://server.com | grep "Set-Cookie: " | sed 's/Set-Cookie: //g' > cookies.txt
      

    现在,如果您不使用里面的 cookie,那么 cookie 罐将毫无用处。特别是对于第二种选择,可能需要删除 Secure 属性,以使 cURL 将保存的 cookie 发送回 Web 服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      相关资源
      最近更新 更多