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

Web Perl Discussion :

[resolus]Intergair avec une page web.


Sujet :

Web Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [resolus]Intergair avec une page web.
    Bonjour je cherche desesperement comment interagir avec une page web avec le perl.
    J'aimerai pour tester, essayer de poster ,grace a mon programme perl, un commentaire sur un livre d'or de ce type.

    http://livredor.quick-web.com/sign.php?id=rom12004

    Or je ne vois pas comment m'y prendre . J'ai fais un tour dans la FAQ et je n'ai rien trouver.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 851
    Points : 4 743
    Points
    4 743
    Par défaut
    Salut

    Apparemment, tu n'as pas dû bien chercher dans la : http://perl.developpez.com/faq/?page...36#sectionC36b

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    lol.
    Non ce n'est pas ce que je voulais faire en faite c'est.
    Comment je peut utiliser les socket pour me connecter a un site (port 80) et passer une commande HTTP.

    Merci d'avance.

  4. #4
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Je me demande si ce que tu veux faire n'est pas couvert par les module LWP (Le Web en Perl) ou par WWW/Mechanize ... Essaies ces pistes.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    j'ai tester un petit truc avec les sockets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!usr/bin/perl
    use strict;
     
    use IO::Socket::INET;
     
        my $sock = IO::Socket::INET->new(
            PeerAddr => 'http://livredor.quick-web.com/?id=rom12004',
            PeerPort => 'http(80)',
            Proto    => 'tcp'
    		)
     
    print $sock "GET /sign.php?id=rom12004&nom=crackda&mail=crackda@no-mail.fr&text=test&posted=1 /HTTP/1.1";
    Mais voilà bien sûr il y a des erreurs j'ai du mal m'y prendre.(Je decouvre les sockets ^^)

    Merci

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Ce que tu veux faire est intégralement couvert par WWW::Mechanize, donc sauf si tu veux juste t'amuser avec les sockets, utilise ce module.
    (NB : si tu connais la forme de la requête que tu dois envoyer pour mettre un nouveau commentaire, tu peux te contenter de LWP ou même de LWP::Simple, ça sera toujours plus agréable que les Sockets !!)

    --
    Jedaï

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Oui en effet je me suis renseigner ca serait plus simple ,mais j'aimerai tout de même reussir a le faire sans j'ai tester cela:

    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
     
    #!/usr/bin/perl -w
     
    use IO::Socket;
     
    $url = "livredor.quick-web.com";
     
    $socket = IO::Socket::INET->new( Proto => "tcp",    
           PeerAddr => "$url",   
           PeerPort => "80");
     
    print $socket "GET http://livredor.quick-web.com/sign.php?id=rom12004&nom=crackda&mail=crackda\@no-mail.fr&text=test&posted=1 HTTP/1.1\n\r";
     
    while &#40;my $ligne = <$socket>&#41; &#123;
    print &#40;"$ligne\n"&#41;;
    &#125;
    Mais hélas le message ne se post pas, le prompteur dos stagne dans le vide aprés que le prog et demander l'accés a internet (a la vus de mon firewall je vous dis ca).

    Je sais que je suis peut etre tetus avec mes sockets mais je tiens vraiment a la faire avec histoire d'avoir au moins manié les sockets dans ce contexte. Aprés il est clair que LWP est plus simple.

    Merci d'avance a tous.

  8. #8
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Perl réinterprète \n selon le contexte pour faire une "vraie" fin de ligne, donc tu n'as pas besoin de mettre un \r. Par ailleurs, il faut une double fin de ligne pour mettre fin à une requète HTTP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print $socket "GET http&#58;//livredor.quick-web.com/sign.php?id=rom12004&nom=crackda&mail=crackda\@no-mail.fr&text=test&posted=1 HTTP/1.0\n\n";
    --
    Jedaï

  9. #9
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci ca marche.

    ormis cela y a t'il un moyen de ne pas afficher les codes html de la page ?

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

Discussions similaires

  1. [MySQL] connecté l wampServer avec une page web
    Par brayndi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/01/2010, 20h34
  2. Réponses: 0
    Dernier message: 01/04/2009, 20h29
  3. Problèmes d'accents avec une page Web
    Par DevCR dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 30/10/2008, 10h43
  4. Une application locale peut-elle dialoguer avec une page web?
    Par Corsaaaire dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 28/11/2007, 18h00
  5. problème avec une page web sous firefox!
    Par 3psilOn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/11/2004, 12h49

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