CURLOPT_COOKIELIST可以设置在不同的卷曲简易手柄上吗?

时间:2016-11-16 21:28:40

标签: c++ http cookies libcurl

我尝试执行文件上传操作(使用多个HTTP POST请求完成)。因此,我需要从第一个HTTP POST的响应中保存cookie,并在第二个HTTP POST的请求中设置这些cookie。我使用CURLINFO_COOKIELIST保存cookie并使用CURLOPT_COOKIELIST手动设置它们。

CURLcode结果= curl_easy_setopt(curlHandle,CURLOPT_COOKIELIST,my_cookies) 仅当我在相同的curlHandle上设置cookie时,此方法才有效。如果我在每次请求后关闭句柄并创建新句柄,则会失败。

是否无法在不同的curl句柄上使用CURLOPT_COOKIELIST选项在同一会话中执行多个HTTP请求? 非常感谢任何帮助。

更新: 我试图像这样保存和设置cookie。我可能做错了什么?

std::string my_cookies;
// Setting other options using curl_easy_setopt

// To start the cookie engine              
curl_easy_setopt(curlHandle,CURLOPT_COOKIEFILE,"");
if (!my_cookies.empty())
{
 curl_easy_setopt(curlHandle, CURLOPT_COOKIELIST, my_cookies);
}
curl_easy_perform(curlHandle);

// Save cookies from response of first HTTP POST
struct curl_slist* cookies;
curl_easy_getinfo(curlHandle,CURLINFO_COOKIELIST,&cookies);
// Code to copy cookies to my_cookies.

1 个答案:

答案 0 :(得分:1)

提取的cookie列表中没有任何内容可以将其绑定到特定的简单句柄,所以是的,它可以被移动并插入到另一个句柄中。