如何让 libcurl 从内存中读取会话的 cookie?

How to make libcurl read cookies from memory for a session?

我想让 libcurl 开始会话而不是 cookie。 一种选择是使用 cookie 文件并在会话结束后将其删除。

是否可以只使用 libcurl 属性? 喜欢

curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, **""**);

用于读取和写入内存

curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, **"-"**);

在上面的示例中,cookiejar 应该将 cookie 写入标准输出,所以我认为 cookiefile 无法找到这些 cookie

CURLOPT_COOKIEFILE 设置为不存在的文件将使 libcurl 的 "cookie engine" 以空白 cookie 存储(在内存中)开始。然后它将接收传入的 cookie 并使用它在内存中的 cookie 相应地发送匹配的传出 cookie。

CURLOPT_COOKIEJAR 如果您希望 libcurl 在您关闭 easy handle 时将内存中的 cookie 存储输出(如果您愿意,则导出)到文件中。