IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

Envoi de données par POST en HTTP


Sujet :

Réseau

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 37
    Par défaut Envoi de données par POST en HTTP
    Bonjour,

    J'essaie d'envoyer des données de post à l'aide de QNetworkAccesManager.

    Seulement dans mon application lorsque je veut envoyer les requêtes à ma QWebView, j'ai cette page qui apparait https://www2.leboncoin.fr/se?ms=ai

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    void Fenetre::on_pushButton_4_clicked()
    {
        region = ui->comboBox->currentText();
        departement = ui->comboBox_2->currentText();
        code_postal = ui->lineEdit->text();
        categorie = ui->comboBox_3->currentText();
        nom = ui->lineEdit_2->text();
        mail = ui->lineEdit_3->text();
        numero = ui->lineEdit_4->text();
        titre = ui->lineEdit_5->text();
        texte = ui->textEdit->toPlainText();
        prix = ui->lineEdit_6->text();
     
        QNetworkAccessManager *m = new QNetworkAccessManager;
        QNetworkRequest request;
        request.setUrl(QUrl("http://www2.leboncoin.fr/ai/form/0"));
        request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
     
        QByteArray array;
        array.append("region=" + region);
        array.append("&dpt_code=" + departement);
        array.append("&zipode=" + code_postal);
        array.append("&category=" + categorie);
        array.append("&name=" + nom);
        array.append("&email=" + mail);
        array.append("&phone=" + numero);
        array.append("&subject=" + titre);
        array.append("&body=" + texte);
        array.append("&price=" + prix);
     
        ui->webView->load(request, QNetworkAccessManager::PostOperation, array);
        QNetworkReply *r = m->post(request, array);
        connect(r, SIGNAL(finished()), this, SLOT(requestFinished()));
        connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(requestError(QNetworkReply::NetworkError)));
    }
     
    void Fenetre::requestFinished()
    {
        qDebug() << "requete OK";
     
        document = ui->webView->page()->mainFrame()->documentElement();
        QWebElement button = document.findFirst("input[type=submit]");
     
        //button.evaluateJavaScript("this.click()");
    }
     
    void Fenetre::requestError(QNetworkReply::NetworkError error)
    {
        qDebug() << "QNetworkReply::NetworkError " << error << "received";
    }

    Merci d'avance.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 062
    Billets dans le blog
    142
    Par défaut
    Bonjour,

    Comme je l'ai dit sur le chat, il se peut que votre requête soit mauvaise, ou plus possiblement, que le site met en place un système de cookie que vous ne gérez pas du tout.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 37
    Par défaut
    Quelqu'un peut me dire, si j'envois bien les bonnes variables ?

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 062
    Billets dans le blog
    142
    Par défaut
    Comme je l'ai dit sur le chat, il faut voir comment agit le navigateur Internet lorsqu'il fait ça propre requête. Pour cela, vous utilisez un plugin de lecture d'entête HTTP (HTTPLiveHeaders, je crois) et vous essayez de reconstituer la même URL que celle que le navigateur envoie.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    et vous essayez de reconstituer la même URL que celle que le navigateur envoie.
    En POST, les paramètres sont passés dans le corps du paquet HTTP, soit pas dans l'URL (ça, c'est GET).

    Sinon, Live HTTP Headers n'est disponible que pour Chrome et Firefox. Une manière plus barbare mais indépendante du navigateur utilise plutôt un logiciel comme Wireshark, pour voir les paquets HTTP complets envoyés (tant depuis Qt qu'un navigateur).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 37
    Par défaut
    J'ai regardé avec WireShark, quand j'appuie sur le bouton "submit" du site mais tout y est indéchiffrables...

    Voilà ce que j'ai sur le navigateur sinon

    http://img15.hostingpics.net/pics/627431Sanstitre.png

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/02/2015, 22h48
  2. [Windows Phone 7] Envois de données par POST windows mobile
    Par taphaly81 dans le forum Windows Phone
    Réponses: 1
    Dernier message: 24/09/2013, 21h39
  3. Meilleure méthode pour envoi de données par POST
    Par Pouknouki dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/03/2013, 06h13
  4. [AJAX] envoie de données par méthode POST
    Par boboss123 dans le forum AJAX
    Réponses: 3
    Dernier message: 01/02/2011, 17h34
  5. Erreur lors de l'envoi de données par post
    Par kohsaka dans le forum jQuery
    Réponses: 1
    Dernier message: 18/01/2009, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo