x29*_*29a 4 c++ rest boost visual-studio casablanca
如何在C++中优雅地解析请求(服务器端)的URI?
URI在Casablanca文档中定义为:
protocol:// server [:port]/path?query#fragment
让我们说,我希望路径(包含所有元素)作为列表,并将查询作为键/值对列表
会导致
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"));
Run Code Online (Sandbox Code Playgroud)
我想避免像在其他地方提出的那样自己进行解析,主要是出于可移植性和性能方面的原因.
cpp-netlib似乎还不是提升的一部分,我宁愿不引入新的库.
Casablanca有一个URI对象,但我找不到任何解析或迭代器.
有没有办法只使用boost,c ++,casablanca/cpprestsdk来解决这个问题?
似乎URI类中有静态辅助函数,例如uri :: split_query和uri :: split_path,它们完全按照请求执行.
在查看使用的这个要点后,我找到了对它们的引用
auto http_get_vars = uri::split_query(request.request_uri().query());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2435 次 |
| 最近记录: |