2015-11-19 62 views
4

如何将一个解析请求(服务器端)的URI优雅在C++?如何优雅解析URI卡萨布兰卡

URI被定义为在Casablanca Documentation为:

协议://服务器[:端口] /路径?查询#片段

比方说,我想要的路径(所有元素)的列表和查询作为键/值对的列表,以便

http://server/foo/bar?val1=1&val2=yo

会结果在

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对象,但我不能找到任何分析或迭代器。

有没有办法解决这个问题只用升压,C++,卡萨布兰卡/ cpprestsdk的方法吗?

回答

7

似乎有在URI类的静态辅助功能,例如uri::split_queryuri::split_path,其完全按照要求执行。

我发现他们引用寻找后this gist它采用

auto http_get_vars = uri::split_query(request.request_uri().query()); 
相关问题