3#include <QtCore/QCoreApplication>
4#include <QtNetwork/QHttpHeaders>
5#include <QtNetwork/QNetworkAccessManager>
6#include <QtNetwork/QNetworkProxy>
7#include <QtNetwork/QNetworkRequest>
10void setBasicAuth(QNetworkRequest& request,
const QString& credentials)
12 QHttpHeaders headers = request.headers();
13 headers.replaceOrAppend(QHttpHeaders::WellKnownHeader::Authorization,
"Basic " + credentials);
14 request.setHeaders(headers);
17void setBasicAuth(QNetworkRequest& request,
const QString& username,
const QString& password)
24 QHttpHeaders headers = request.headers();
25 headers.replaceOrAppend(QHttpHeaders::WellKnownHeader::Authorization,
"Bearer " + token);
26 request.setHeaders(headers);
31 const QString credentials = username + QLatin1Char(
':') + password;
32 return QString::fromLatin1(credentials.toUtf8().toBase64());
37 static const QString userAgent = QStringLiteral(
"%1/%2 (Qt %3)")
38 .arg(QCoreApplication::applicationName(),
39 QCoreApplication::applicationVersion(), QString::fromLatin1(qVersion()));
45 QSslConfiguration
config = QSslConfiguration::defaultConfiguration();
46 config.setProtocol(QSsl::TlsV1_2OrLater);
52 auto* manager =
new QNetworkAccessManager(parent);
63#if !defined(Q_OS_IOS) && !defined(Q_OS_ANDROID)
64 QNetworkProxy proxy = manager->proxy();
65 proxy.setType(QNetworkProxy::DefaultProxy);
66 manager->setProxy(proxy);
QSslConfiguration createSslConfig()
The default TLS configuration restricted to TLS 1.2 or later.
void configureProxy(QNetworkAccessManager *manager)
Set up default proxy configuration on a network manager.
QNetworkAccessManager * createNetworkManager(QObject *parent)
QString defaultUserAgent()
"<application>/<version> (Qt <version>)".
void setBasicAuth(QNetworkRequest &request, const QString &credentials)
QString createBasicAuthCredentials(const QString &username, const QString &password)
Base64-encoded UTF-8 username:password, without the authentication scheme.
void setBearerToken(QNetworkRequest &request, const QString &token)