我有一个测试脚本,用于设置测试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。
答案 0 :(得分:0)
CURLOPT_HTTPHEADER 选项只会添加标题"按原样#34;如果指定了cookie,则不进行任何解析和修改内部cookie存储。
CURLOPT_COOKIE 选项只是做同样事情的捷径。
应该使用CURLOPT_COOKIELIST 。 See the example here