#rest #cookies #cpprest-sdk #casablanca
Вопрос:
Я пытаюсь получить идентификатор сеанса с помощью casablanca1.2.0 с помощью Visual Studio 2012 и отправить запрос JSON с помощью службы REST(POST) из приложения C в приложение Java.
Я написал подобный код для извлечения файла cookie из заголовка ответа.
http_client client1(m_uri L"/");
client1.request(methods::GET)
.then([](http_response response)
{
if (response.status_code() != status_codes::OK) {
throw std::exception("Sign-in failed");
// std::cout << response.status_code() << std::endl;
}
auto headers = response.headers();
auto it = headers.find(U("Set-Cookie"));
if (it != headers.end()) {
m_sessionToken = it->second;
std::wcout << m_sessionToken << std::endl;
}
.....
}
В firefox F12 set-cookie отправляется с сервера следующим образом.
Set-Cookie: ABC=1234567; DEF=9876543
Set-Cookie: GHI=13579; JKL=24680
Однако результат wcout показывает только второй набор файлов cookie;
GHI=13579; JKL=24680
В справке говорится, что web::http::http_headers действует как map, а web::http::http_headers объединяет входное значение в виде строки, разделенной запятыми, когда ключ ввода дублируется, но теперь, похоже, этого не происходит.
Можно ли извлечь все файлы cookie из заголовка ответа и как это сделать?
Любая помощь была бы очень кстати!!!