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 :

Récupération de fichier sur site https


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Par défaut Récupération de fichier sur site https
    Bonjour,

    Après quelques recherches et pas mal d'incompréhension (c'est la première fois et demie ) que je me lance dans le web, enfin...je ne trouve pas ce que je veux...

    Sur une page https, je souhaite télécharger les fichiers correspondant à une certaine date.
    la page https est de type :
    lien_du_document.doc /espace/ 01-nov-2012 /espace/ taille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="/icons/unknown.gif" alt="[   ]"> <a href="fichier.doc">fichier.doc</a>               13-Nov-2012 07:03  6.5K
    Quelqu'un pourrait-il me guider ?

    je teste actuellement : http://perl.developpez.com/faq/perl/...rgementpageweb

  2. #2
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Par défaut
    Avec le script indiqué, j'ai pu récupérer parser la page voulu. Merci le Script (dimitry.e)

    mais la question se pose de comment récupérer les fichiers...

  3. #3
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462

  4. #4
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Par défaut
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    #!/usr/local/bin/perl
     
    use warnings;
    use strict;
    use Getopt::Long;
    use LWP::Simple;
    use LWP::UserAgent;
    use MIME::Base64;
     
    =for COMM
     
    Script permettant de recuperer le contenu du page web en HTTP
    avec utilisation d'un proxy et d'un login si besoin.
     
    Arguments obligatoires :
      --url=URL
        Precise la page a recuperer
     
    Arguments Optionnels :
      --login=USER:PASSWD
        Specifie le login a utiliser
      --proxy=PROXY
        Indiquer un proxy HTTP
     
    =cut
    #my ($url, $login, $proxy);
    my $url = "https://xxxxx";
    my $login="xxx:xxx";
    my $proxy="";
     
    # Recuperation et stockage des options dans leurs variables respectives
    GetOptions(
      'url=s'   => \$url,
      'login=s' => \$login,
      'proxy=s' => \$proxy,
    );
     
    # Le script a besoin d'au moins une URL pour fonctionner
    if ( !defined $url ) { die( 'Usage : ' . $0 . " --url=URL\n" ); }
     
    # Le login doit etre forme du nom et du mot de passe separes par deux points
    if ( ( defined $login ) and ( $login !~ /.+:.+/ ) ) {
      die( 'Usage : ' . $0 . " --url=URL --login=USER:PASSWD\n" );
    }
     
    # Creation du User Agent. Il se charge de traiter la requete HTTP, comme un navigateur le ferait.
    my $ua = LWP::UserAgent->new;
     
    # Le timeout permet de savoir a partir de quand on considere qu'un requete n'aboutira pas
    $ua->timeout(20);
     
    # On crée la requete HTTP correspondant a l'url
    my $req = HTTP::Request->new( GET => $url );
     
    if ( defined $proxy ) {
     
      # Indique a l'user agent qu'il va devoir utiliser un proxy
      $ua->env_proxy;
     
      # Indique a l'user agent quel proxy utiliser
      $ua->proxy( ['http'], $proxy );
    }
     
    if ( defined $login ) {
     
      # Encodage en base 64 comme le demande HTTP
      my $token = encode_base64($login);
     
      # Ajout de l'option 'Authorization Basic' et du login dans la requete. (cf RFC de HTTP)
      $req->header( Authorization => 'Basic ' . $token );
    }
     
    # Envoi de la requete et reception de la reponse dans $content
    my $content = $ua->request($req);
    Jusque là, je respecte le code de dimitry.e

    ici, je l'adapte à mes besoins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    my $date = "01_01_2012";
    my @tab = split(/\n/, $content->decoded_content);
     
    foreach my $fic(@tab) {
    if ($fic =~/$date/){
     
        }
      }
    cependant, ici...comment procéder au téléchargement des fichiers ??

    help

  5. #5
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Par défaut
    J'arrive bien à avoir une liste de fichier correspondant à la date demandé.

    mais je n'arrive toujours pas à télécharger les fichiers en question...

    Je me demandais également ou se téléchargent les fichiers ?
    Est-il possible de spécifier un dossier particulier ?

  6. #6
    Membre éclairé Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Par défaut
    Le "mirror" fonctionne bien sauf qu'il fallait que j'intègre les login et mot de passe dans l'url...

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

Discussions similaires

  1. [AC-2003] ADO ConnectionString vers fichier sur site HTTPS
    Par Oliv- dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/11/2009, 14h43
  2. script pour automatiser upload fichier sur site https
    Par ludo_93 dans le forum VBScript
    Réponses: 0
    Dernier message: 03/10/2008, 10h24
  3. [FTP] Récupération taille fichier sur ftp
    Par Kerod dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2006, 03h18
  4. récupération de fichiers sur Dat
    Par gwendal84 dans le forum Windows XP
    Réponses: 1
    Dernier message: 28/11/2005, 23h50

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