There is a library that’s proposed for Boost inclusion and allows you to parse HTTP URI’s easily. It uses Boost.Spirit and is also released under the Boost Software License. The library is cpp-netlib which you can find the documentation for at http://cpp-netlib.github.com/ — you can download the latest release from http://github.com/cpp-netlib/cpp-netlib/downloads .
The relevant type you’ll want to use is boost::network::http::uri
and is documented here.