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

Bibliothèques et frameworks PHP Discussion :

[cURL] agir sur des sites en Java ou ASP


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 136
    Par défaut [cURL] agir sur des sites en Java ou ASP
    bonjour a tous en ce jour ensoleillé (il grêle chez moi :s)

    j'ai un piti probléme. mais tout d'abord, mise en situation.

    je suis en alternance dans une toute petite boite de consulting en télécommunication, et je suis actuellement sur la réalisation d'une appli permettant un tas de chose. entre autre de faire des stats sur les consos des clients. pour faire ces stats, j'utilise des fichiers CSV fourni par les opérateurs (SFR, Orange, Bouygues,...). ces fichiers se télécharge sur l'espace client de chaque entreprise en fonction de l'opérateur. pour le moment, c'est mon boss qui doit se logger puis télécharger manuellement chaque fichier pour chaque entreprise. c'est une perte de temps.

    pour résoudre se problème j'essaye de réaliser un module qui permettrait de se logger sur le site d'aller sur la page adéquat et de télécharger le fichier.

    pour le moment, j'arrive à me logger et à aller sur une page désigné en gardant la session active. mais je n'y parvient que sur des site codé en PHP (j'en ai essayé 2-3). le souci c'est que les sites d'Orange et SFR sont en JAVA et celui de Bouygues en ASP. et le hasard comme par hasard, sur ces sites je n'arrive pas à me logger et donc pas à accéder à la page que je veux.

    alors, est-ce que je laisse tomber parce que cURL ne gère que les sites en PHP (j'ai essayé Snoopy aussi) ou est-ce que je suis un gros noob qui à rien compris au fonctionnement de cURL (ça se pourrai bien ^^). j'ai compris que cURL gérait tout au niveau des protocoles et c'est pour ça que je vois pas pourquoi le langage pose problème.

    voila le code (que j'ai choppé sur ce site :p)
    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
    <?
    define('LOGIN', 'user');
    define('PASSWORD', 'mdp');
    define('AUTHENTIFICATION', 'https://pol.sfr.fr/login.do');
    define('PAGE_PRIVEE', 'https://etoolonline.sfr.fr/etoolv2web/IdentLogin');
     
    $sid = '';
     
    /**
     * Première connexion : authentification
     **/
    $ch = curl_init(AUTHENTIFICATION);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS,
        array(
            'login' => LOGIN,
            'password' => PASSWORD
        )
    );
    curl_setopt($ch, CURLOPT_COOKIEJAR, realpath('cookie.txt'));
    curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
    curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('cookie.txt'));
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $ret = curl_exec($ch);
    if ($ret == FALSE) {
        die(curl_error($ch));
    }
    curl_close($ch);
    if (preg_match('/(PHPSESSID=[0-9a-z,-]{32,40})/i', $ret, $m)) {
        $sid = '?' . $m[1];
    } else if (preg_match('#<input\s+type="hidden"\s+name="([^\r\n\t <>\'"\\\]+)"\s+value="([0-9a-z,-]{32,40})"\s*/?>#i', $ret, $m)) {
        $sid = '?' . $m[1] . '=' . $m[2];
    }
    echo "<br/><b>".$sid."</b><br/>";;
    /**
     * Deuxième partie : réutilisation de la session sur une page tierce
     **/
     echo realpath('cookie.txt');
    $ch = curl_init(PAGE_PRIVEE . $sid);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_COOKIEFILE, realpath('cookie.txt'));
    $ret = curl_exec($ch);
    if ($ret === FALSE) {
        die(curl_error($ch));
    }
    curl_close($ch);
     
    echo $ret;
    ?>
    j'espère que vous aurez eu le courage de lire tout et que vous pourrez m'aider.

    EDIT : quand j'essaye de me logger sur sfrentreprise.fr, curl_error() me retourne ; SSL certificate problem, verify that the CA cert is OK

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 136
    Par défaut
    probléme partiellement résolu. j'arrive à atteindre la page d'accueil d'un compte sur sfrentreprise.fr. pour que ça fonctionne j'ai du faire hébérger le script.

    sur Orange-business et entreprises.Bouyeguestelecom ça ne fonctionne pas.

Discussions similaires

  1. Mise à jour des articles sur un site avec Java (JEE)
    Par zikyoubi dans le forum Développement Web en Java
    Réponses: 13
    Dernier message: 25/09/2013, 22h06
  2. Agir sur des instances de manière générale
    Par Metallizer dans le forum Débuter
    Réponses: 8
    Dernier message: 19/02/2009, 16h27
  3. Se connecter sur un site avec Java
    Par Mithandir dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 30/12/2008, 10h35
  4. agir sur des string
    Par 20100. dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/02/2008, 14h49

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