Ich spielte mit QT WebEngine herum, um einen Desktop-Webbrowser zu erstellen, der meinen Anforderungen während der Arbeit entspricht. Leider muss ich einige Daten mit dem HTTP-Header an eine Site senden. Ich bin auf QWebEngineUrlRequestInfo Klasse 'void QWebEngineUrlRequestInfo::setHttpHeader(const QByteArray &name, const QByteArray &value)
Methode, aber ich weiß nicht wirklich, wie man es in Code verwenden. Dies ist mein Code so weit:So senden Sie HTTPHeader mit QT WebEngine?
import QtQuick 2.7
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
import QtWebEngine 1.3
ApplicationWindow {
visible: true
width: 320
height: 240
title: qsTr("Browser")
flags: Qt.WindowStaysOnTopHint
WebEngineView {
anchors.fill: parent
url: "some http url here"
Rectangle{
height: 100
width: height
}
}
}
Hier meine main.cpp-Datei ist:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QtWebEngine/qtwebengineglobal.h>
#include <QWebEngineUrlRequestInfo>
#include <QByteArray>
int main(int argc, char *argv[])
{
QByteArray key, value;
key.append("SomeKey");
value.append("SomeValue");
QWebEngineUrlRequestInfo url;//Won't work because its constructor is private
url.setHttpHeader(key, value);
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
QtWebEngine::initialize();
engine.load(QUrl(QLatin1String("qrc:/main.qml")));
return app.exec();
}
Da der obige Code einen Fehler wirft, kann ich wirklich nicht eine Lösung für dieses Problem herauszufinden. TIA