2015-05-21 4 views
1

У меня есть тестовый скрипт, который устанавливает тестовый файл cookie и делает перенаправление. Я использую cURL v7.33 для его проверки. включить куки с помощью:Libcurl не обновляет cookie

curl_easy_setopt (m_curl, CURLOPT_COOKIEFILE, ""); 

Затем добавить печенье, используя один из методов (пробовал оба):

curl_easy_setopt (m_curl, CURLOPT_HTTPHEADER, slist); 

или

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

Скрипт устанавливает куки с тем же именем, но другое значение:

Set-Cookie: test_cookie_2=value2 

После перенаправления Curl отправляет эти куки на новый URL:

Cookie: test_cookie_2=value2; test_cookie_2=base_value2; 

Это ошибка в соответствии с RFC 6265 (раздел 5.3, par.11). Я прав?

Я проверил журнал изменений и не нашел никаких уведомлений об этой проблеме.

Я использую Visual C++ 2013.

enter image description here

+0

Я только что пробовал последнюю версию (7.42.1) - ведет себя одинаково. –

+0

Это просто некорректное использование API libcurl, как описано в списке рассылки библиотеки curl. –

ответ

0

CURLOPT_HTTPHEADER варианта только добавляет заголовки «как есть», без какого-либо разбора и изменений внутреннего хранения печенья в случае было указано там печенье.

CURLOPT_COOKIE вариант - это просто ярлык для выполнения той же самой вещи.

CURLOPT_COOKIELIST следует использовать вместо этого. See the example here.

Смежные вопросы