Как мне обрабатывать фрагментированный ответ с помощью cpprestsdk? Как запросить следующий кусок? Есть ли вообще необходимый функционал?
Вот как мы выполняем http-запросы:
web::http::http_request request(web::http::methods::GET);
request.headers().add(LR"(User-Agent)", LR"(ExchangeServicesClient/15.00.0847.030)");
request.headers().add(LR"(Accept)", LR"(text/xml)");
request.set_body(L"request body", L"text/xml");
web::http::client::http_client_config clientConfig;
clientConfig.set_credentials(web::credentials(L"username", L"pass"));
clientConfig.set_validate_certificates(true);
web::http::client::http_client client(L"serviceurl", clientConfig);
auto bodyTask = client.request(request)
.then([](web::http::http_response response) {
auto str = response.extract_string().get();
return str;
});
auto body = bodyTask.get();
Если я наивно пытаюсь выполнить другой запрос сразу после этого, я получаю сообщение об ошибке:
WinHttpSendRequest: 5023: группа или ресурс находятся в неправильном состоянии для выполнения
запрошенная операция.
Задача ещё не решена.
Других решений пока нет …