Отправка POST с помощью cpprest

У меня есть следующий код для отправки POST, но я получаю сообщение об ошибке, даже если он правильно скомпилирован

http_client client(U("http://l0.71.103.63:34568"));
json::value postData;
postData["name"] = json::value::string(U("Mohammad"));

http_response response = client.request(methods::POST,postData.to_string().c_str()).get();

if(response.status_code() == status_codes::OK)
{
auto body = response.extract_string();
std::wcout << L"Added new Id: " << body.get().c_str() << std::endl;

return std::stoi(body.get().c_str());
}

Но я получаю следующую ошибку при попытке запустить программу

terminate called after throwing an instance of 'web::uri_exception'
what():  provided uri is invalid: {"name":"Mohammad"}
Aborted (core dumped)

1

Решение

Я думаю, что проблема в вашем IP-адресе. Похоже, ваш IP-адрес неверный? У тебя есть «Http: // l0.» где «10 «есть»L0 «(строчная L).

Отсюда и сеть: uri_exception.

2

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

Вы ошибаетесь (я так думаю) в вашем запросе, должно выглядеть так:

автоответчик = client.request (методы :: POST, U («\»), postData) .get ();

Второй аргумент в запросе — это дополнение URL, и вы передаете свой JSON в строке, отсюда и ваша ошибка.

в основном синтаксис, который вы хотите, это один:

pplx :: задача web :: http :: client :: http_client :: request (
константный метод & mtd, утилита const :: string_t &
path_query_fragment, const json :: value & body_data, const
pplx :: cancellation_token & token = pplx :: cancellation_token :: none ()
)

0

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