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

Développement Web en Java Discussion :

Communiquer avec une interface CGI


Sujet :

Développement Web en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 25
    Billets dans le blog
    1
    Par défaut Communiquer avec une interface CGI
    Bonjour,

    Je souhaiterais charger la page HTML de ma banque https://www.creditmutuel.fr/cmne/fr/...on/default.cgi
    après connexion : https://www.creditmutuel.fr/cmne/fr/...financiere.cgi

    J'ai donc essayé ceci
    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
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.PrintStream;
    import java.net.URL;
    import java.net.URLConnection;
     
    public class pageident {
     
        public static void main(String[] args) throws IOException {
     
            URL my_url = new URL("https://www.creditmutuel.fr/cmne/fr/identification/default.cgi");
            URL url2 = new URL("https://www.creditmutuel.fr/cmne/fr/banque/situation_financiere.cgi");
     
            URLConnection connection =  my_url.openConnection(); 
            connection.setDoOutput(true);
            PrintStream send_data = new PrintStream(connection.getOutputStream());
            send_data.print("_cm_user=1212121212121&_cm_pwd=12345678");
            send_data.close( );
     
            BufferedReader in = new BufferedReader(new InputStreamReader(url2.openStream()));
            String str;
            while ((str = in.readLine()) != null) {
                System.out.println(str);
            }
            in.close();
        }
    }
    mais ça ne fonctionne pas.

    J'ai cherché mais je débute et j'aimerais aller un peu plus vite.

    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 363
    Par défaut
    Salut,

    Je n'ai pas encore publié mon pavé sur la gestion des erreurs en informatique, mais je peux au moins t'en donner la quintessence.

    Au lieu d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URLConnection connection =  my_url.openConnection();
    et de passer à la ligne de code suivante, ajoute un error handler.
    En php on écrira par exemple (dans un tout autre ordre d'idées) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $conn = @mysql_connect($db_serveur, $db_user, $db_pwd) or die ("Erreur de connexion au serveur.");
    Ca, c'est mieux que rien mais c'est la version des comiques de la programmation de gestion d'erreurs. Et on le trouve dans TOUS les exemples de code sur Internet. C'est HONTEUX (et c'est la raison de l'écriture de mon bouquin). En effet, on en a rien à secouer de savoir que le truc s'est planté parce qu'il y a eu une erreur, on avait compris, ce qui importe, c'est la RAISON de l'erreur.

    Donc, au lieu de la niaiserie ci-dessus, privilégie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $conn = mysql_connect($db_server,$db_user,$db_pwd);
    if (!$conn)
    {
    	echo "%NIP-F-SQLCONNECT, Connect error " . mysql_errno() . " " . mysql_error();
    	exit;
    }
    En résumé, pour ton cas Java particulier, bosse la doc sur les error handlers en Java, met du code de gestion d'erreurs après TOUS tes appels à des fonctions système et tu devrais progresser GRANDEMENT.

    En savoir plus sur la gestion des erreurs dans les scripts Windows (cmd, Vbscript et PowerShell) c'est par ici : http://www.didiermorandi.fr/vbscript/

    A+

    PS : le message d'erreur n'est pas anodin. Il vient du VMS de DEC , il comporte un tas d'informations utiles quand tu en as cinquante dans ton errlog.log (comment ? tu n'as pas non plus d'errlog.log ?)

    Ce type de message d'erreur comporte quatre informations de base
    Facility Code
    Severity Code
    Indentity Code
    Text

    Soit : %NIP-F-SQLCONNECT, Connect error ...

    signifie :

    NIP : le source qui envoie le message (ici, nip.php, handler de traitement des notifications instantanées de paiement par Paypal)
    -F- : Fatal : le code s'arrête (instruction exit)
    SQLCONNECT : erreur au moment de la connexion à une base MySQL
    TEXT : l'explication de l'erreur, suivie de son n° et de son texte "système"

    Tout cela sera détaillé dans mon site dès que j'aurai 2 minutes...

  3. #3
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 25
    Billets dans le blog
    1
    Par défaut
    Je crois que je tiens quelque chose : http://underpop.free.fr/j/java/learn...14-sect-3.html

    et merci à toi Toulousaing

  4. #4
    Membre éclairé
    Homme Profil pro
    Programmeur fou
    Inscrit en
    Octobre 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Programmeur fou

    Informations forums :
    Inscription : Octobre 2010
    Messages : 363
    Par défaut
    Oui.
    cela s'appelle une doc.
    Où est ce qui répond à ta question ?

  5. #5
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 25
    Billets dans le blog
    1
    Par défaut
    C'est précisément ce que je cherchais (depuis un moment).

    Avant de marquer résolu je dois :
    - remplacer URLEncoder.encode qui est deprecated
    - trouver dans la source de mon HTML le nom exact des variables à transmettre (celles que j'ai mis plus haut sont peut-être bonnes mais je n'en suis pas encore sûr)
    - vérifier que ça marche chez moi.

    Je pense que ce sera fait ce week-end

  6. #6
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 25
    Billets dans le blog
    1
    Par défaut
    rectificatif : ça sera pas pour bientôt !

    j'ai essayé tous les encodages possibles pour mon post, ça ne se connecte pas.
    Je réalise que je tente une httpurlconnection sur une adresse sécurisée : d'où problème, non ?
    Mais vu l'heure, et vu que pour avoir httpsurlconnection je dois encore passer du temps, je fais une pause ...

Discussions similaires

  1. Interface pour communiquer avec une clé HASP
    Par joke23 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 14/06/2013, 10h06
  2. [Mail] Communiquer avec une Gateway de SMS
    Par haffouff dans le forum Langage
    Réponses: 5
    Dernier message: 09/06/2006, 15h58
  3. Communiquer avec une DLL depuis un driver .SYS
    Par barthelv dans le forum Windows
    Réponses: 17
    Dernier message: 03/04/2006, 10h43
  4. communiquer avec une base de données sur internet
    Par richard038 dans le forum Bases de données
    Réponses: 7
    Dernier message: 15/02/2006, 18h01
  5. [Lisp] Communiquer avec une fonction en c++
    Par Nadine dans le forum Lisp
    Réponses: 5
    Dernier message: 10/01/2005, 20h15

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