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

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

在不同的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.

最佳答案

提取的Cookie列表中没有任何内容将其绑定到该特定的简单句柄,因此可以将其移到并插入另一个句柄中。

07-24 21:21