begin process at 2012 05 28 11:56:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

aide urgente page acceptée en https [Qt] cpp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide urgente page acceptée en https [Qt] cpp

jeudi 29 janvier 2009 à 01:23:03 | aide urgente page acceptée en https [Qt] cpp

diotquentin

Bonjour,

je n'ai pas compris où il fallait mettre le port 430 pour que https marche.

voila mon code de networkaccessmanager.cpp et le header.


cpp

#include "networkaccessmanager.h"

#include "browserapplication.h"
#include "browsermainwindow.h"
#include "ui_passworddialog.h"
#include "ui_proxy.h"

#include <QtCore/QSettings>

#include <QtGui/QDialog>
#include <QtGui/QMessageBox>
#include <QtGui/QStyle>
#include <QtGui/QTextDocument>

#include <QtNetwork/QAuthenticator>
#include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QNetworkReply>
#include <QtNetwork/QSslError>

NetworkAccessManager::NetworkAccessManager(QObject *parent)
: QNetworkAccessManager(parent)
{
connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)));
#ifndef QT_NO_OPENSSL
connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)));
#endif
loadSettings();
}

void NetworkAccessManager::loadSettings()
{
QSettings settings;
settings.beginGroup(QLatin1String("proxy"));
QNetworkProxy proxy;
if (settings.value(QLatin1String("enabled"), false).toBool()) {
if (settings.value(QLatin1String("type"), 0).toInt() == 0)
proxy.setType(QNetworkProxy::Socks5Proxy);
else
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName(settings.value(QLatin1String("hostName")).toString());
proxy.setPort(settings.value(QLatin1String("port"), 1080).toInt());
proxy.setUser(settings.value(QLatin1String("userName")).toString());
proxy.setPassword(settings.value(QLatin1String("password")).toString());
}
setProxy(proxy);
}

void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth)
{
BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();

QDialog dialog(mainWindow);
dialog.setWindowFlags(Qt::Sheet);

Ui::PasswordDialog passwordDialog;
passwordDialog.setupUi(&dialog);

passwordDialog.iconLabel->setText(QString());
passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));

QString introMessage = tr("<qt>Enter username and password for \"%1\" at %2</qt>");
introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString()));
passwordDialog.introLabel->setText(introMessage);
passwordDialog.introLabel->setWordWrap(true);

if (dialog.exec() == QDialog::Accepted) {
auth->setUser(passwordDialog.userNameLineEdit->text());
auth->setPassword(passwordDialog.passwordLineEdit->text());
}
}

void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth)
{
BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();

QDialog dialog(mainWindow);
dialog.setWindowFlags(Qt::Sheet);

Ui::ProxyDialog proxyDialog;
proxyDialog.setupUi(&dialog);

proxyDialog.iconLabel->setText(QString());
proxyDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));

QString introMessage = tr("<qt>Connect to proxy \"%1\" using:</qt>");
introMessage = introMessage.arg(Qt::escape(proxy.hostName()));
proxyDialog.introLabel->setText(introMessage);
proxyDialog.introLabel->setWordWrap(true);

if (dialog.exec() == QDialog::Accepted) {
auth->setUser(proxyDialog.userNameLineEdit->text());
auth->setPassword(proxyDialog.passwordLineEdit->text());
}
}

#ifndef QT_NO_OPENSSL
void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList<QSslError> &error)
{
BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();

QStringList errorStrings;
for (int i = 0; i < error.count(); ++i)
errorStrings += error.at(i).errorString();
QString errors = errorStrings.join(QLatin1String("\n"));
int ret = QMessageBox::warning(mainWindow, QCoreApplication::applicationName(),
tr("SSL Errors:\n\n%1\n\n%2\n\n"
"Do you want to ignore these errors?").arg(reply->url().toString()).arg(errors),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No);
if (ret == QMessageBox::Yes)
reply->ignoreSslErrors();
}
#endif




le header :

#ifndef NETWORKACCESSMANAGER_H
#define NETWORKACCESSMANAGER_H

#include <QtNetwork/QNetworkAccessManager>

class NetworkAccessManager : public QNetworkAccessManager
{
Q_OBJECT

public:
NetworkAccessManager(QObject *parent = 0);

public slots:
void loadSettings();

private slots:
void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth);
void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth);
#ifndef QT_NO_OPENSSL
void sslErrors(QNetworkReply *reply, const QList<QSslError> &error);
#endif
};

#endif // NETWORKACCESSMANAGER_H


Cette discussion est classée dans : include, qt, proxy, mainwindow, networkaccessmanager


Répondre à ce message

Sujets en rapport avec ce message

Compilation Qt [ par Crazy_Joe ] Bonjour à tous, J'ai fait un fichier d'interface .ui avec Qt 4.0.1. J'ai exécuté la commande uic cr.ui -o cr.h et cela me donne un fichier d'entête . QT Q_OBJECT signals et slots sous Code::Blocks [ par RV2931 ] Bonjour,je suis en train d'essayer de créer un widget perso dérivé d'un QPushButton Je souhaite utiliser les slots, et surtout les signal Linker/inclure la SDL dans QT [ par victorjung ] BOnjour, a tous voila un moment que j essaye d'utiliser la sdl dans qt, je crois que je n'ai jamais etais aussi pres, j'ai juste le probleme suivant, Aide en Qt [ par fredrizk ] Bonjour Je suis entrain d'écrire un logiciel pour mon entreprise et j'aurai besoin d'aide, c'est la première fois que je fais du Qt Jusqu'à présent Probleme dinclude [ par knizooo ] Bonjour, Je débute en Qt et viens de m'appercevoir que lorsque je fais include"mainwindow.h"et qu'après je compile mon projet Qt, l'include n'est pa se connecter à une base MySQL avec un programme C sous Visual studio C++ 2010 [ par moumoute77 ] Bonjour, j'ai aligné quelques lignes de code en C pour me connecter à ma base locale oregon (sans mot de passe pour l'instant). Au début, j'ai eu des Undefined reference to... Incompréhensible. [ par AnTrqx ] Bonsoir, J'essaie de coder une classe AdvancedArray qui serait un genre de vecteur simplifié. Seulement j'obtiens cette erreur à la compilation. J'ai declaration d'un tableau [ par badsha ] bonjour j'arrive à comprendre pourquoi je ne peux pas mettre ça" int tab[t] = {1,2}; " au lieu de " int tab[2] = {1,2}; " ça marche avec " #define t 3 Utilisation DLL dynamique / getprocAddress null [ par Inutqen ] Bonjour à tous ! J'essaye d'utiliser une DLL fournie sans .lib, mais avec un beau .h, du coup je tente la combo LoadLibrary et GetProcAddress. Le pro


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,855 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales