Как декодировать параметры запроса с помощью Boost::URL (минимальный пример)

Этот минимальный пример показывает, как использовать Boost::URL для декодирования параметров запроса из URL.

parse_query.cpp
#include <iostream>
#include <boost/url.hpp>

using namespace boost::urls;

using std::cout, std::endl;

int main() {
    // Пример закодированного URL с параметрами запроса
    std::string encoded_url_str = "https://example.com/api/login?username=myusername&password=mypassword";

    // Разобрать URL
    url_view parsed_url(encoded_url_str);

    // Получить доступ и декодировать параметры запроса
    auto params = parsed_url.params();
    std::string username = (*params.find_last("username")).value;
    std::string password = (*params.find_last("password")).value;

    cout << "Decoded username: " << username << endl;
    cout << "Decoded password: " << password << endl;

    return 0;
}

Как скомпилировать

build_parse_query.sh
g++ -std=c++17 parse_query.cpp -o parse_query -lboost_url

Запустите с помощью

run_parse_query.sh
./parse_query

Пример вывода

parse_query_output.txt
Decoded username: myusername
Decoded password: mypassword

Check out similar posts by category: Boost C/C++