CURLOPT_COOKIELIST可以在不同的curl easy句柄上设置吗?



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

CURLcode result = curl_easy_setopt(curlHandle, CURLOPT_COOKIELIST, my_cookies)只有当我将cookie设置为相同的curlHandle时,这才有效。如果我在每个请求后关闭句柄并创建新句柄,则会失败。

是否可以在不同的curl句柄上使用CURLOPT_COOKIELIST选项来在同一会话中执行多个HTTP请求?如有任何帮助,不胜感激。

更新:我试着这样保存和设置饼干。我可能做错了什么吗?

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列表中没有任何东西将它绑定到特定的简单句柄,所以是的,它可以移动并插入到另一个句柄

最新更新