【发布时间】:2016-02-21 16:06:51
【问题描述】:
如何在 C++ 中优雅地解析请求的 URI(服务器端)?
URI 在Casablanca Documentation 中定义为:
protocol : // 服务器 [: 端口] / 路径 ?查询#片段
可以说,我希望路径(包含所有元素)作为列表,查询作为键/值对列表,所以
会导致
std::list<string> path;
path.push_back("foo");
path.push_back("bar");
std::list<std::pair<string, string>> query;
query.push_back(std::make_pair("val1", "1"));
query.push_back(std::make_pair("val2", "yo"));
我想避免像建议的elsewhere 那样自己进行解析,主要是出于可移植性和性能方面的原因。
cpp-netlib 似乎还不是part of boost,我不想引入新库。
Casablanca 有一个 URI 对象,但我找不到任何解析或迭代器。
有没有办法只使用 boost、c++、casablanca/cpprestsdk 来解决这个问题?
【问题讨论】:
标签: c++ visual-studio rest boost casablanca