J'ai déjà publié un article sur mes efforts pour faire en sorte que Google Maps s'affiche en WebView. J'ai découvert que je devais installer OpenSSL pour que HTTPS puisse être utilisé pour certaines des API de Google.
Tout cela est bien beau, mais maintenant, sur une autre machine, j'ai du mal à configurer Qt pour utiliser le proxy du système. Pour celui-ci, nous avons un proxy système qui ne nécessite pas d'authentification et un autre qui en nécessite une. Le proxy par défaut est celui qui nécessite une authentification.
J'ai le code suivant pour spécifier le proxy :
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QNetworkProxy>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName("url.of.proxy.not.requiring.authentication");
proxy.setPort(8080);
QNetworkProxy::setApplicationProxy(proxy);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/Maps/main.qml"));
viewer.showExpanded();
return app.exec();
}
Lorsque j'exécute cette application, j'obtiens une page Web affichée dans WebView dont le contenu indique qu'il y a une erreur 407 parce que le proxy nécessite une authentification et que l'adresse du proxy spécifiée dans cette page est celle par défaut et non celle que je demande explicitement à Qt d'utiliser.
Comment puis-je faire en sorte que Qt utilise le proxy réel que je veux qu'il utilise ? Toutes les autres applications sur cette machine peuvent l'utiliser, alors pourquoi pas Qt ?