Connexion Web Perl Windows

math74150 -  
 math74150 -
Salut tout le monde,

je suis sur un projet et il me faut réaliser une connexion à un site web (ex: google) en perl, sous windows.

Si quelqu'un posséde un corps ou, par miracle, le code entier, je lui serai reconnaissant de son aide précieuse.

Merci
A voir également:

32 réponses

math74150
 
Ok, je vais ré essayer alor

Debut

variable:

Addr = www.google.com
NavName = Firefox
NavEmpl = ?


ouvrir firefox avec NavName, NavEmpl et Addr
afficher "Connexion reussi"

mieu ?
0
Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   510
 
Fait comme ça, le programme ne se connectera pas, il affichera simplement une phrase ;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

J'ai fait un jour un exercice. Voir ici http://www.commentcamarche.net/forum/affich 2453825 perl reseaux?page=3#43

Il y a aussi une partie http (à adapter) - cette fois je confirme que chez moi ça a marché
'http'=> <<'FIN',
open DAEMON,">> log.exo"
    or die "E/S : $!\n";
if ( ($url = Net::HTTP->new(Host => "$surl")) and
	   ($url->write_request(GET => "/")) ) {
   print DAEMON "$date $surl valide et existe sur web\n";
   close DAEMON;
}
else {
   print DAEMON "$date $surl inexistant || hors connexion || format invalide\n";
   close DAEMON;
}
FIN
0
Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   510
 
Tant qu'on y ait, je voudrais te demande ce que signifie
 print DAEMON
par rapport à un print simple??

Merci =)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention  
 
Re,

print ".....\n"; envoie le résultat sur la sortie standard (écran)

print HANDLE "......\n" envoie le résultat vers un handle de fichier

Si tu regardes au début de code tu verras ça
open DAEMON,">> log.exo"
    or die "E/S : $!\n";


Donc print DAEMON écrit dans le fichier log.exo
0
Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention   510 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
Merci de m'avoir expliqué =)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > Kharec Messages postés 4146 Date d'inscription   Statut Contributeur Dernière intervention  
 
Re,

Par défaut c'est le descripteur STDOUT.
Il y a la fonction select qui te permet de changer le descripteur par défaut.
0
math74150
 
lami20j, ton code permet de se connecter à un site internet ? car j'ai regardé ton exercice sur le lien et je t'avoue que j'ai rien compris. Si tu pouvais me dire simplement comment faire cette connexion, ce serai super :) merci
0
math74150
 
Se connecter d'accord?
Mais quoi faire après la connexion.


Je souhaite pouvoir naviguer sur le site à partir de la connexion réaliser en perl, si tu vois ce que je veux dire en plus simple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KraD_74 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Essaye ça :

#!/usr/bin/perl -w
use strict;
use IO::Socket::INET;

# ouvre une connexion sur le serveur
my $sock = IO::Socket::INET->new(
PeerAddr => 'paris.mongueurs.net',
PeerPort => 'http(80)',
Proto => 'tcp'
) or die "Impossible de se connecter";

# envoie la requête
print $sock "GET / HTTP/1.0\015\012Host: paris.mongueurs.net\015\012\015\012";

# récupère la réponse
my $page = do { local $/; <SOCK> };

# ferme la connexion
close $sock or die "close: $!";
0
math74150
 
Déjà essayer, ca ne marche pas. Après, il ya peut etre des paramètre a changé ??
0
math74150
 
lami20j,

le code que tu met en exemple affiche juste "impossible de fer get www.....".

et tu sur qu'il réalise une connexion ?
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

#!/usr/bin/perl
use warnings;use strict;

use Net::HTTP;


my $url0='www.google.com';

if ( ($url = Net::HTTP->new(Host => "$surl")) and
	   ($url->write_request(GET => "/")) ) {
   print  "$surl valide et existe sur web\n";
}
else {
   print  "$surl inexistant || hors connexion || format invalide\n";
}

ou
use LWP::Simple; 
use URI::URL; 

my $url = url(' http://www.google.fr') ; 
$contenu = get($url); 
print "$contenu"
__END__


0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Quand j'ai faut les tests sur l'exercice, j'ai bien testé.
Maintenant je ne peux rien te dire, je n'ai pas moyen de tester.
Je ne pourrai le faire que ce soir à la maison, mais bon, j'espère que tu arriveras jusqu'à ce soir ;-)
0
math74150
 
use Net::HTTP;

j'ai un souci au niveau de cette ligne. quand je l'éxecute , il me met

can't locate Net/HTTP.pm in @INC

et quand je vais dans mon dossier c:\perl\lib\net, je n 'ai pa le HTTP.pm
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Ah,d'accord.
Il faut installer le module.
Regarde ici https://djibril.developpez.com/tutoriels/perl/installation-modules/#LII
0
math74150
 
Merci pour ton aide mais je ne vois pas du tout comment installer ce module. le lien que tu me donne me renvoi sur un site qui explique comment y faire mais je t'avoue que c'est assez flou pour moi :'(
0