无法使用Poco获取字符串的路径

时间:2018-03-23 09:35:14

标签: c++ poco-libraries

我试图将路径放在字符串中,但它总是为空:

Poco::URI uri("http://10.10.10.10:3535");
std::string path(uri.getPathAndQuery());

此字符串部分从未收到任何内容并保持为空 代码段来自示例https://gist.github.com/FatalCatharsis/749d93b4592e7d59d91a

2 个答案:

答案 0 :(得分:2)

在您的URI中,路径和查询为空,因此您看到一个空字符串是正确的。您的URI只有Scheme,Host和Port。

以下是维基百科的URI格式图:

                    authority               path
        ┌───────────────┴───────────────┐┌───┴────┐
  abc://username:password@example.com:123/path/data?key=value#fragid1
  └┬┘   └───────┬───────┘ └────┬────┘ └┬┘           └───┬───┘ └──┬──┘
scheme  user information     host     port            query   fragment

答案 1 :(得分:0)

http://10.10.10.10:3535在字符串中没有任何路径或查询,这就是它为空的原因。 您可以在这里分开URI:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
eg. http:://192.168.11.2:3000/user?action=edit#basic