2009-08-31 8 views
-5

J'essaie de télécharger et de sortir dans un fichier en utilisant cURL dans un script Perl.Comment utiliser cURL ou Wget dans un programme Perl?

1) Je dois passer un nom d'utilisateur et un mot de passe ci-dessous. Quel commutateur devrais-je utiliser?

2) Lorsque j'exécute un script Perl, voici ce que je reçois:

Can't locate WWW/Curl.pm in @INC (@INC contains: f:/Perl/site/lib f:/Perl/lib .) 
at onesec.pl line 9. 
BEGIN failed--compilation aborted at haroldonesec.pl line 9. 
use WWW::Curl; 
curl http://download2.emu-lochard.com/sfo1/gru?start-time=2009-08-15+00%3A00%3A00&end-time=2009-08-15+12%3A59%3A59&time-zone=GMT&metric=laeq --data --O curllaeq.txt 

3) Comment puis-je utiliser Wget pour faire la même chose?

J'utilise les éléments suivants, mais obtenir des erreurs:

use LWP::Simple; 
wget --user=username --password=password http://download2.emu-lochard.com/sfo1/gru?start-time=2009-08-15+00%3A00%3A00&end-time=2009-08-15+12%3A59%3A59&time-zone=GMT&metric=laeq -O laeq.txt 
+1

Qu'est-ce que l'utilisation de LWP :: Simple a à voir avec cmdline wget dans votre 3)? –

+0

Rien.Pense que wget pourrait l'exiger..mais ignorer – Neel

+2

Vous savez que perl n'est pas un shell, non? Parce qu'il semble que vous essayez d'écrire un script bash. Vous devrez d'abord apprendre les bases de Perl avant d'installer des modules. Voir http://perldoc.perl.org/perlintro.html – friedo

Répondre

5

Comme le souligne Chris Lutz, vous n'avez pas WWW::Curl installé. Cependant, même si vous l'avez fait, cela n'a pas d'importance car la façon dont vous avez essayé d'utiliser la bibliothèque semble complètement indépendante de la façon dont le module doit être utilisé. Vous devriez essayer de lire la documentation pour WWW::Curl et LWP::Simple. Ou, si c'est tout ce que vous devez faire, j'utiliserais les utilitaires de ligne de commande cURL ou wget.

+1

Il peut être important de noter que ses erreurs sont dues au fait qu'il n'a pas les modules installés. Mais +1. Et aussi, merci d'avoir édité la question. J'ai essayé mais SO a gelé sur moi. –

1

ne pas répéter l'évidence (vous n'avez pas le WWW :: Curl installé) mais pour répondre à l'autre question, la manière standard accepté de passer l'utilisateur htaccess/mots de passe est juste accès à l'URL comme ceci:

http://username:[email protected]/bla.file 

Curl, wget, et tous les autres programmes sensibles devraient être en mesure de gérer cette forme.

+0

http: // nom d'utilisateur: [email protected]/bla.file Malheureusement, ce format ne fonctionne pas – Neel

+3

Oui, oui c'est le cas. –

+3

curl, wget, et LWP :: Simple ont de meilleures façons de fournir des informations d'identification. –

Questions connexes