У меня есть следующий код для отправки 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)
Я думаю, что проблема в вашем IP-адресе. Похоже, ваш IP-адрес неверный? У тебя есть «Http: // l0.» где «10 «есть»L0 «(строчная L).
Отсюда и сеть: uri_exception.
Вы ошибаетесь (я так думаю) в вашем запросе, должно выглядеть так:
автоответчик = 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 ()
)