我需要将“路由器”的 URL 的路径部分解析为 REST Web 服务的一部分。我正在使用 PION 库来处理 HTTP 请求。这个库似乎没有任何检索部分 URL 路径的功能——至少看起来是这样。我找不到另一个这样做的图书馆。例如, http://www.w3.org/Library/src/HTParse.c没有给出部分路径。
有没有更快,更强大的方法来做到这一点:
std::vector<std::string> parsePath(std::string path)
{
std::string delimiter = "/";
std::string part = "";
std::size_t firstPos = 0;
std::size_t secondPos = 0;
std::vector<std::string> parts;
while (firstPos != std::string::npos)
{
firstPos = path.find(delimiter, firstPos);
secondPos = path.find(delimiter, firstPos + 1);
part = path.substr(firstPos + 1, (secondPos - 1) - firstPos);
if (part != "") parts.push_back(part);
firstPos = secondPos;
}
return parts;
}