Ошибка при вызове Microsoft vision API из-за переполнения стека

Я хочу вызвать Microsoft Vision API из C ++, и я использую библиотека cpr делать запросы. Теперь я запускаю следующий код:

#include <iostream>
#include <cpr/cpr.h>
#include <json.hpp>

int main(int argc, char** argv) {
auto response = cpr::Post(
cpr::Url{"https://westcentralus.api.cognitive.microsoft.com/vision/v1.0/analyze"},
cpr::Body{{"url","https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Broadway_and_Times_Square_by_night.jpg/450px-Broadway_and_Times_Square_by_night.jpg"}},
cpr::Header{{"Ocp-Apim-Subscription-Key", "xxxxxxxx"}}
);
std::cout << response.status_code ;
auto json = nlohmann::json::parse(response.text);
std::cout << json.dump(4) << std::endl;
}

Хотя код выполняется cmake, так make Был успешен. Но когда я выполнил исполняемый файл, появилась следующая ошибка:

terminate called after throwing an instance of 'std::length_error'
what():  basic_string::_M_create
Aborted (core dumped)

PS: документацию по Microsoft Vision API можно найти Вот
Итак, скажите мне, если я делаю какую-то ошибку. Также, если кто-то знает, как отправлять http-запросы в приложении QtQuick, скажите, пожалуйста,

0

Решение

Вы можете попробовать это?

auto my_json = nlohmann::json::object({
{ "url","https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Broadway_and_Times_Square_by_night.jpg/450px-Broadway_and_Times_Square_by_night.jpg" }
});

response = cpr::Post(
cpr::Url{"https://westcentralus.api.cognitive.microsoft.com/vision/v1.0/analyze"},
cpr::Body{ my_json.dump() },
cpr::Header{{"Ocp-Apim-Subscription-Key", "XXXXXX"}}
);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]