Comment parser l'hôte depuis une URL en C++ en utilisant Boost::URL

Si vous avez une URL telle que :

snippet.cpp
std::string myURL = "https://subdomain.example.com/api/test";

vous pouvez parser le nom d’hôte depuis celle-ci en utilisant Boost::URL (vous avez besoin d’au moins Boost 1.81.0, les versions précédentes de boost n’ont pas Boost.URL) en utilisant

snippet2.cpp
boost::urls::url_view url(myURL);
std::string host = url.host();

std::cout << host << std::endl; // Affiche "subdomain.example.com"

Exemple complet :

urlhost.cpp
#include <string>
#include <iostream>

#include <boost/url.hpp>

int main() {
    std::string myURL = "https://subdomain.example.com/api/test";

    boost::urls::url_view url(myURL);
    std::string host = url.host();

    std::cout << host << std::endl; // Affiche "subdomain.example.com"
}

Compilez en utilisant

build_urlhost.sh
g++ -o urlhost urlhost.cpp -lboost_url

Consultez les articles similaires par catégorie : Boost C/C++