相关疑难解决方法(0)

在C++跨平台上解析url的简单方法?

我需要解析一个URL,以便在我用C++编写的应用程序中获取协议,主机,路径和查询.该应用程序旨在跨平台.我很惊讶我在boostPOCO库中找不到任何这样的功能.这是显而易见的我不看的地方吗?关于适当的开源库的任何建议?或者这是我必须自己做的事情?它并不是非常复杂,但似乎是一项常见的任务,我很惊讶没有一个共同的解决方案.

c++ url uri

67
推荐指数
9
解决办法
8万
查看次数

在C++中解析REST查询

我想在我的应用程序上公开REST API,使用Mongoose Web服务器并为不同的查询提供处理程序.

查询的一个例子就是这样(我现在只使用GET,其余的HTTP动词将在以后出现):

GET /items -> returns a list of all items in JSON
GET /item/by/handle/123456789 -> returns item that has handle 123456789
GET /item/by/name/My%20Item -> returns item(s) that have the name "My Item"
Run Code Online (Sandbox Code Playgroud)

我很好奇的是我应该如何实现这些查询的解析.我可以很容易地解析第一个,因为它只是一个问题if( query.getURI() == "/items") return ....
但是对于接下来的两个查询,我必须以std::完全不同的方式操纵字符串,使用一些std::string::find()魔法和偏移来获得参数.

作为示例,这是我对第二个查询的实现:

size_t position = std::string::npos;
std::string path = "/item/by/handle/";

if( (position = query.getURI().find(path) ) != std::string::npos )
{
    std::string argument = query.getURI().substr( position + path.size() );
    // now parse the argument …
Run Code Online (Sandbox Code Playgroud)

c++ rest parsing mongoose-web-server

5
推荐指数
1
解决办法
2298
查看次数

标签 统计

c++ ×2

mongoose-web-server ×1

parsing ×1

rest ×1

uri ×1

url ×1