2015-11-19 78 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()); 
相關問題