[Перекрестная публикация из списка рассылки lib-curl]
У меня есть однопоточное приложение (MSVC C ++ 2005), созданное на основе статического
LIBCURL 7.19.4
Тестовое приложение подключается к внутреннему серверу и выполняет заказ
процесс аутентификации, который включает в себя размещение нескольких форм, и
когда это удается, создает новый ресурс (POST), а затем обновляет
ресурс (PUT) с использованием If-Match.
Я использую только одно соединение с libcurl (т.е. только один CURL *)
Механизм cookie включен с самого начала с помощью
curl_easy_setopt (CURLOPT_COOKIEFILE, "")
Кеш cookie очищается в конце процесса аутентификации
используя curl_easy_setopt (CURLOPT_COOKIELIST, "SESS"). Это требуется
процессом аутентификации.
Следующий вызов, который завершает успешную аутентификацию, приводит к
пару файлов cookie безопасности, возвращаемых с сервера - они
дата истечения срока действия не установлена.
Сервер (и я) ожидаем, что файлы cookie безопасности будут отправлены с
все последующие запросы к серверу. Проблема в том, что иногда
они отправляются, а иногда нет.
Я не эксперт CURL, поэтому я, вероятно, что-то делаю не так, но я
не могу понять, что. Запуск тестового приложения в результатах цикла показывает
случайное распределение правильной обработки файлов cookie.
В качестве обходного пути я отключил движок cookie и делаю базовые
ручная обработка файлов cookie. Как это работает, как и ожидалось, но я бы предпочел
по возможности использовать библиотеку.
У кого-нибудь есть идеи?
Спасибо
Себ