From 84e7304d054f96754839e990f9cee511b7ed65a4 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Thu, 30 Jul 2026 22:59:14 +0100 Subject: [PATCH] Fix encoding of + --- plugins/channelrx/demodadsb/adsbdemodgui.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/channelrx/demodadsb/adsbdemodgui.cpp b/plugins/channelrx/demodadsb/adsbdemodgui.cpp index c9cb2c80f..00e94381b 100644 --- a/plugins/channelrx/demodadsb/adsbdemodgui.cpp +++ b/plugins/channelrx/demodadsb/adsbdemodgui.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #ifdef QT_LOCATION_FOUND #include #endif @@ -8360,14 +8359,19 @@ void ADSBDemodGUI::requestImportAccessToken() return; } - QUrlQuery form; - form.addQueryItem(QStringLiteral("grant_type"), QStringLiteral("client_credentials")); - form.addQueryItem(QStringLiteral("client_id"), m_settings.m_importClientId); - form.addQueryItem(QStringLiteral("client_secret"), m_settings.m_importClientSecret); + const auto encodeFormComponent = [](const QString& value) { + QByteArray encoded = QUrl::toPercentEncoding(value); + encoded.replace("%20", "+"); + return encoded; + }; + QByteArray form("grant_type=client_credentials&client_id="); + form.append(encodeFormComponent(m_settings.m_importClientId)); + form.append("&client_secret="); + form.append(encodeFormComponent(m_settings.m_importClientSecret)); QNetworkRequest request(tokenUrl); request.setHeader(QNetworkRequest::ContentTypeHeader, QStringLiteral("application/x-www-form-urlencoded")); - QNetworkReply *reply = m_networkManager->post(request, form.query(QUrl::FullyEncoded).toUtf8()); + QNetworkReply *reply = m_networkManager->post(request, form); reply->setProperty("adsbImportReplyType", QStringLiteral("token")); reply->setProperty("adsbImportGeneration", m_importRequestGeneration); m_importTokenReply = reply;