首页 > 解决方案 > 使用 curl 将接收到的 cookie 存储在文件中

问题描述

我有卷曲的问题,它让我发疯。我正在尝试使用 curl 对 API 进行身份验证并获取 cookie。我需要将此 cookie 存储到一个文件中,因为稍后我需要它来进行实际的 API 查询。我还需要向 API 发送客户端证书和密钥。我的问题是响应包含我需要的 cookie,但是 curl 拒绝将 cookie 写入指定的文件。我可以在响应标头“Set-Cookie”中看到 cookie

到目前为止,我的 curl 调用如下所示:

curl --cert mycertfile.cert --key mykeyfile.key -v -k -c cookie.txt --output response.json -H 'Content-Type: application/json' -d <some json payload> <API URL>

响应正确写入指定文件。cookie 文件由 curl 创建,包含 3 行注释,说明它是由 libcurl 等创建的,但没有 cookie。

我在这里想念什么?

curl 版本 7.72.0 (x86_64-pc-linux-gnu),内核为 5.7.0-kali1-amd64

标签: curlcookies

解决方案


看起来 API 有一些奇怪的行为,即使有 HTTP 401 Unauthorized 响应也会返回某种奇怪的 cookie,在这种情况下 curl 似乎忽略了 cookie 标头。


推荐阅读