作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何在 C++ 中优雅地解析请求的 URI(服务器端)?
URI 定义为 Casablanca Documentation作为:
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"));
我想避免像建议的那样自己进行解析 elsewhere ,主要是出于便携性和性能原因。
cpp-netlib好像不是part of boost然而,我不想介绍一个新的图书馆。
卡萨布兰卡有一个 URI对象,但我找不到任何解析或迭代器。
有没有办法只使用 boost、c++、casablanca/cpprestsdk 来解决这个问题?
最佳答案
URI 类中似乎有静态辅助函数,例如uri::split_query和 uri::split_path完全按照要求执行。
我在查看 this gist 后找到了对它们的引用哪个使用
auto http_get_vars = uri::split_query(request.request_uri().query());
关于c++ - 如何在 Casablanca 中优雅地解析 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33805177/
我是一名优秀的程序员,十分优秀!