列出卡萨布兰卡中的表单编码参数

List to form-encoded parameters in Casablanca

我正在使用 cpprestsdk (casabalanca) POST 向服务器发出请求 我有一个参数列表

std::list<std::pair<string, string>> query;
query.push_back(std::make_pair("val1", "one two"));
query.push_back(std::make_pair("val2", "yo"));

需要编码为form-encoded parameters

val1=one%20two&val2=yo

我找不到 Api 的问题(就像我有 web::json::value 用于 json 有效载荷)。 我需要对每个 key/value 进行编码并自己进行连接。 有一个 Api 我错过了或者这个根本不存在?

找到解决方案...

web::http::http_request request;

web::uri_builder parameter;
parameter.append_query("val1", "one two", true);
parameter.append_query("val2", "yo", true);

request.set_body(parameter.query(), web::http::details::mime_types::application_x_www_form_urlencoded);