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

Shell et commandes GNU Discussion :

Soucis avec CURL


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut Soucis avec CURL
    Bonjour,

    J'ai un petit soucis avec CURL.
    J'essaye de récupérer le code source d'une page.

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B
    Avec le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set MyURL to "http://fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B"
    set the_page to do shell script "curl " & MyURL
    SI l'on regarde le code source de cette page avec firefox, on verra le <title> avec une valeur "Aucun membre ..."
    Hors avec le resultat du CURL, je ne retrouve pas cette valeur dans le <Title>

    Quelqu'un aurait une solution ?

    Thais

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 666
    Par défaut
    Bonjour,


    modifie le --user-agent...
    ?

    Citation Envoyé par thais781
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set MyURL to "http://fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B"
    set the_page to do shell script "curl " & MyURL
    quel est ce langage ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Bonjour,

    Merci pour ton aide.

    C'est de l'AppleScript.
    On peut executer du shell script à partir de l'applescript ....

    J'ai essayé donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set MyURL to "http://fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B"
    set the_page to do shell script "curl --user -agent " & MyURL
    Mais le resultat est le meme ...
    La valeur du <Title> n'est pas la bonne

    Une autre idée, ou peut être que je n'utilise pas la syntaxe comme il faut ?

    Thais

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 666
    Par défaut
    bah ? il faut donner les renseignements concernant le navigateur que curl prétendra être !
    curl --user-agent 'Mozilla/5.0'[...]
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Désolé, mais je suis vraiment débutante en CURL, AppleScript je maitrise bien, mais pas CURL

    J'ai donc essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set the_page to do shell script "curl --user-agent 'Mozilla/5.0' fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B"
    Même résultat ... même si je fais le curl directement depuis mon terminal, meme resultat.

    Est ce que quand tu fais cette manip chez toi tu as bien une valeur "Aucun membre ..." juste après <title> ?

    Merci pour ton aide précieuse.

    Thais

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par thais781 Voir le message
    Est ce que quand tu fais cette manip chez toi tu as bien une valeur "Aucun membre ..." juste après <title> ?
    Je n'ai pas curl installé, mais comme la chaîne passée contient le caractère '&', il lance (une partie seulement de) la commande en bg. Je suggèrerais bien de la mettre entre quotes (simple quotes si pas de variable, double sinon):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl --user-agent 'Mozilla/5.0' 'fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B'

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Bonjour,

    Je viens de tester (même résultat)
    Ci-joint le résultat dans le fichier txt si tu n'as pas CURL.
    Et il y a une différence avec le fichier sur internet (même URL)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B
    Avez-vous une idée ?

    Thais
    Fichiers attachés Fichiers attachés

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Est-ce que la même URL depuis un navigateur (avec les bons pseudo et mot de passe) te renvoie le résultat désiré ?

    Sinon, peut être te faudra-t-il passer par une authentification avec récupération du cookie et ensuite ta requête avec un paramètre supplémentaire pour le cookie...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    ahhhh

    Je crois que tu es sur la bonne voie ...
    Oui en effet, viadeo est un site ou il faut être identifié et oui quand je suis identifié et que je regarde le fichier source sur firefox c'est bon.

    Le pb est donc que Curl va chercher la page web sans authentification ....

    Tu sais comment je peux récupérer mes cookies d'authentification et les reinjecté dans curl ?

    Merci pour ton aide

    Thais

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Récupération du cookie (la syntaxe des data est en fonction du POST du site) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -s --cookie-jar cookie.txt --data 'data_de_connexion_avec_pseudo_et_password' -L 'URL_du_site'
    Requête avec cookie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -s -b cookie.txt -L 'URL+requête'

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Merci pour ton aide, mais je suis vraiment nulle en CURL

    Donc URL_du_site : http://www.viadeo.com/?actionId=0..... ma page perso
    et data_de_connexion_avec_pseudo_et_password ????

    En fait je ne sais pas comment on récupère ces cookie ...

    Thais

  12. #12
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par thais781 Voir le message
    En fait je ne sais pas comment on récupère ces cookie ...

    Thais
    menu Firefox -> Options -> Options
    onglet Vie privée
    clic lien "supprimer des cookies spécifiques"
    Rechercher: "viadeo" RETURN
    => environ 6 cookies (affiliate __utma __utmb ...)
    en cliquant une fois pour sélectionner un cookie, tu peux récupérer son nom et sa valeur dans la partie basse de la fenêtre.
    Attention! il y a des dates d'expiration...

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Je viens d'y jeter un oeil et je ne sais pas si ça va être possible

    Il y a un truc qui me gène dans la requête, c'est le "formRandKey=f3sxdpqioeoix51f". Je n'ai aucune idée de comment c'est généré et si ça sert vraiment pour l'authentification

    Essaie un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl --cookie-jar cookie.txt --data 'formKey=com.viaduc.forms.signin.SignInForm&formRandKey=f3sxdpqioeoix51f&lang=&email=USER%40FAI.tld&password=PASS&monthAutoConnect=on&connexion=' -L 'https://secure.viadeo.com/r/account/authentication/signin'
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -s -b cookie.txt -L 'fr.viadeo.com/recherche/resultat_membres/?fullName=toto+jjhjjhjhjhjhjhjh&ga_from=Tfrom%3Ageneral%3BBfrom%3Asearch-topright-submit%3BEfrom%3Aex-sugg%3B'
    N'ayant pas les moyens de tester je ne te garantie aucune réussite

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Zipe31 : Meme resultat ...

    Jack : J'ai réussit à trouver la liste des cookies.
    Pour Viadeo, j'ai 10 tableaux avec Nom, Valeur, Domaine ....

    Maintenant comment je fais pour le mettre dans cookie.txt ? c'est quoi le format de ce fichier ?

    On va y arriver ...

    Thais

  15. #15
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par thais781 Voir le message
    Zipe31 : Meme resultat ...
    T'avais bien changé "USER%40FAI.tld" par ton adresse mail et "PASS" par ton mot de passe dans les "data" ?

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Yessss

    Ca marche Zip tout etait bon mais comme une gourde je n'avais pas mis le bon chemin du fichier cookie.txt dans le deuxième curl

    merci beaucoup pour votre aide.

    A bientôt

    Thais

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Je vais juste abuser de votre temps
    Je sais je suis chiante ....

    Mais pour LinkedIn, ca serait quoi le code pour récupérer le cookie.txt ??

    Thais

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Par défaut
    Up

    Un dernier petit coup de main

    Thais

Discussions similaires

  1. [PHP 5.3] Soucis cookie avec Curl
    Par Auden dans le forum Langage
    Réponses: 1
    Dernier message: 05/06/2012, 21h30
  2. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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