Containers Data IO C++11
Added in 1.81.0

Boost.Url

URL parsing in C++11

About Boost.Url

Please check out the library's documentation to learn more.

In Progress Branch

You are viewing the master version of this library.

The master and develop pages are shown here to provide access to the newest in-development in-progress documentation. See the "Documentation" link on this page.

Other aspects of the page will reflect the previous official version, or not be available until the next release.

Documentation

Boost.URL is a portable C++ library which provides containers and algorithms for handling URLs as described by RFC 3986. It supports parsing, inspection, modification, normalization, and resolution of URLs, with interfaces designed for network programs that need to process URLs efficiently and securely from untrusted sources.

url_view uv("https://www.example.com/path/to/file.txt?id=1001&name=John%20Doe");

for (auto v : uv.params())
    std::cout << v.key << "=" << v.value << "\n";
// id=1001
// name=John Doe

url u = uv;
u.set_scheme("http")
 .set_encoded_host("boost.org")
 .set_encoded_path("/index.htm")
 .remove_query()
 .params().append({"key", "value"});

std::cout << u;
// http://boost.org/index.htm?key=value
Join the Boost Developers Mailing List

Get the latest on releases, features, security patches, fixes and all major announcements.