【发布时间】:2017-04-12 23:07:45
【问题描述】:
我有以下代码可以发送 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)
【问题讨论】:
-
client::request的number of overloads 让人眼花缭乱,不过猜测一下,需要在json数据之前传递一个路径。创建http_client时,您将什么传递给它?也许您需要从中拆分路径,只留下主机名并将路径传递给client::request? -
@PaulRooney 我创建了如下客户端:http_client client(U("l0.71.103.63:34568"));
-
您要发布到的资源是什么?你可以用 curl 或任何其他语言(例如 Python 请求)来做吗?您可以尝试
"/"的资源,但这似乎很奇怪。
标签: c++ casablanca cpprest-sdk