Libcurl不会更新Cookie

时间:2015-05-21 13:12:50

标签: c++ cookies libcurl

我有一个测试脚本,用于设置测试cookie并进行重定向。 我用cURL v7.33来测试它。 我使用以下方式启用cookie:

curl_easy_setopt (m_curl, CURLOPT_COOKIEFILE, "");

然后我使用其中一种方法添加cookie(尝试过两种方法):

curl_easy_setopt (m_curl, CURLOPT_HTTPHEADER, slist);

curl_easy_setopt(m_curl, CURLOPT_COOKIE, "test_cookie_2=base_value2;");

脚本使用相同的名称设置cookie但值不同:

Set-Cookie: test_cookie_2=value2 

重定向后,cURL会将这些cookie发送到新网址:

Cookie: test_cookie_2=value2; test_cookie_2=base_value2;

根据RFC 6265(第5.3节,第11节),这是一个错误。我对吗?

我已检查过更改日志,但未发现有关此问题的任何通知。

我使用Visual C ++ 2013。

enter image description here

1 个答案:

答案 0 :(得分:0)

CURLOPT_HTTPHEADER 选项只会添加标题"按原样#34;如果指定了cookie,则不进行任何解析和修改内部cookie存储。

CURLOPT_COOKIE 选项只是做同样事情的捷径。

应该使用

CURLOPT_COOKIELIST See the example here