Не могу получить путь к строке с помощью Poco

Я пытаюсь поместить путь в строку, но она всегда пуста:

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

Эта строковая часть никогда ничего не получает и остается пустой. Фрагмент кода взят из примера https://gist.github.com/FatalCatharsis/749d93b4592e7d59d91a


person Preben Enhed    schedule 23.03.2018    source источник
comment
Что вы получаете, когда URI равен http://10.10.10.10:3535/path/page.html?q=query?   -  person Sorin    schedule 23.03.2018


Ответы (2)


В вашем URI путь и запрос пусты, поэтому правильно, что вы видите пустую строку. Ваш URI имеет только схему, хост и порт.

Вот схема формата URI из Википедии:

                    authority               path
        ┌───────────────┴───────────────┐┌───┴────┐
  abc://username:[email protected]:123/path/data?key=value#fragid1
  └┬┘   └───────┬───────┘ └────┬────┘ └┬┘           └───┬───┘ └──┬──┘
scheme  user information     host     port            query   fragment
person M.M    schedule 23.03.2018

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
person Sumit Jha    schedule 23.03.2018