Como transformar URL em endereço IP usando boost :: asio?

Então eu preciso de alguma maneira de virar dadoProtocol://URLorIP:Port string em stringip intport Como fazer isso com o boost ASIO e o Boost Regex? Ou é possível - obter IP usando C ++ Net Lib (candidato a impulso) - observe - não precisamos de conexão longa - apenas IP.

Então, atualmente uso esse código para analisar

#include <boost/regex.hpp>
#include <vector>
#include <string>

int main(int argc, char** argv)
{
    if (argc < 2) return 0;

    std::vector<std::string> values;
    boost::regex expression(
        //   proto                 host               port
        "^(\?:([^:/\?#]+)://)\?(\\w+[^/\?#:]*)(\?::(\\d+))\?"
        //   path                  file       parameters
        "(/\?(\?:[^\?#/]*/)*)\?([^\?#]*)\?(\\\?(.*))\?"
    );
    std::string src(argv[1]);
    if (boost::regex_split(std::back_inserter(values), src, expression))
    {
        const char* names[] = {"Protocol", "Host", "Port", "Path", "File", 
                "Parameters", NULL};
        for (int i = 0; names[i]; i++)
            printf("%s: %s\n", names[i], values[i].c_str());
    }
    return 0;
}

O que devo adicionar ao meu pequeno programa para analisar o URL no IP?

questionAnswers(1)

yourAnswerToTheQuestion