Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre du Club
    Inscrit en
    avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 94
    Points : 44
    Points
    44

    Par défaut Navigateur externe et POST

    Bonjour à tous,

    J'ai une demande assez particulière ! En fait, il faudrait que je puisse lancer un navigateur (celui par défaut) mais pouvoir loguer automatiquement un compte sur un site précis.

    Donc envoyer un pseudo et un mot de passe en POST à l'ouverture d'un navigateur.

    Auriez-vous une idée de comment je pourrais arriver à ce résultat ?

    Merci

  2. #2
    Rédacteur
    Avatar de Amnell
    Homme Profil pro Louis du Verdier
    Étudiant
    Inscrit en
    mars 2009
    Messages
    1 745
    Détails du profil
    Informations personnelles :
    Nom : Homme Louis du Verdier
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2009
    Messages : 1 745
    Points : 5 709
    Points
    5 709

    Par défaut

    Bonjour,

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <QApplication>
    #include <QWebView>
    #include <QNetworkRequest>
     
    int main (int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        QByteArray data = QByteArray(QString("pseudo=xxx&password=xxx").toAscii());
     
        QWebView view;
        view.load(QNetworkRequest(QUrl("http://url.com/page_login.php")), QNetworkAccessManager::PostOperation, data);
        view.show();
     
        return app.exec();
    }
    Je ne suis pas sûr des informations à passer au QByteArray, cependant.

    Bonne continuation,
    Amnell.

  3. #3
    Membre du Club
    Inscrit en
    avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 94
    Points : 44
    Points
    44

    Par défaut

    Merci de ta réponse, je vais tester ça

    Mais ça me permet de passer les informations à un navigateur par défaut sur le system ? En faisait un

    Code :
    QDesktopServices::openUrl(QUrl("http://www.pagedelogin.com"));
    par exemple ?

  4. #4
    Responsable Qt

    Avatar de dourouc05
    Homme Profil pro Thibaut Cuvelier
    Étudiant
    Inscrit en
    août 2008
    Messages
    19 567
    Détails du profil
    Informations personnelles :
    Nom : Homme Thibaut Cuvelier
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 19 567
    Points : 76 650
    Points
    76 650

    Par défaut

    Tu ne peux maîtriser avec du code Qt que ce que tu fais avec Qt, pas vraiment les applications externes (sauf API). Si tu veux passer des données POST dans le navigateur par défaut, génère un fichier HTML, mets-y un formulaire prérempli (avec des champs cachés) et envoie-le par JavaScript (c'est comme ça que fonctionne Trillian pour t'envoyer sur ta boîte mail). Depuis Qt, tu lanceras l'ouverture de ce fichier avec le navigateur par défaut.
    Vous souhaitez participer aux rubriques Qt ou PyQt/PySide (tutoriels, FAQ, traductions, sources) ? Contactez-moi par MP.

    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre du Club
    Inscrit en
    avril 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 94
    Points : 44
    Points
    44

    Par défaut

    On c'est bien ce que je pensais ! Merci beaucoup pour vos réponses !

    Citation Envoyé par dourouc05 Voir le message
    Tu ne peux maîtriser avec du code Qt que ce que tu fais avec Qt, pas vraiment les applications externes (sauf API). Si tu veux passer des données POST dans le navigateur par défaut, génère un fichier HTML, mets-y un formulaire prérempli (avec des champs cachés) et envoie-le par JavaScript (c'est comme ça que fonctionne Trillian pour t'envoyer sur ta boîte mail). Depuis Qt, tu lanceras l'ouverture de ce fichier avec le navigateur par défaut.

  6. #6
    Nouveau Membre du Club
    Inscrit en
    janvier 2005
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 63
    Points : 36
    Points
    36

    Par défaut

    Citation Envoyé par Amnell Voir le message
    Bonjour,

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <QApplication>
    #include <QWebView>
    #include <QNetworkRequest>
     
    int main (int argc, char *argv[])
    {
        QApplication app(argc, argv);
     
        QByteArray data = QByteArray(QString("pseudo=xxx&password=xxx").toAscii());
     
        QWebView view;
        view.load(QNetworkRequest(QUrl("http://url.com/page_login.php")), QNetworkAccessManager::PostOperation, data);
        view.show();
     
        return app.exec();
    }
    Je ne suis pas sûr des informations à passer au QByteArray, cependant.

    Bonne continuation,
    Amnell.
    Bonjour,

    je suis assez nouveau dans le monde Qt (je suis plutôt dev java ou python habituellement), mais je suis incapable de trouver cette classe QWebView. Elle n'est ni dans le designer, ni dans dans #include <QWebView>.

    Le seul endroit où j'ai trouvé un truc lui ressemblant, c'est dans #include <QtWebKitWidgets/QWebView> mais alors je dois être une quiche car j'ai des "symbole externe non résolu" dès que je tente de l'inclure...

    Après investigation, il semble qu'il y ait eu pas mal de remue-ménage dans l'api Webkit ces derniers temps... où en sommes-nous ? Je n'ai pas trouvé une doc claire à ce sujet Ta réponse avait l'air d'être assez récente pourtant.. J'utilise QT 5 avec le creator 2.6.0

    merci pour les infos !!


    merci


    edit : dans mon fichier .pro j'ai bien ajouté l'option webkit:

    QT += core gui webkit

    edit 2 : je progresse, depuis Qt 5 l'option de link s'appelle désormais webkitwidgets... j'aurai aimé avoir le module directement dispo depuis le QT Designer, mais ce sera pour plus tard je devrais déjà m'en sortir via le code... désolé pour le dérangement !

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •