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

Langage Perl Discussion :

LWP : Erreur 403 (Forbidden) mais OK depuis un Navigateur Internet


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Homme Profil pro
    Un champ requis appelé Activité est manquant ou a une valeur incorrecte.
    Inscrit en
    Mars 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un champ requis appelé Activité est manquant ou a une valeur incorrecte.

    Informations forums :
    Inscription : Mars 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut LWP : Erreur 403 (Forbidden) mais OK depuis un Navigateur Internet
    Bonjour,

    Si je vais sur ce site via mon navigateur web : http://boite-a-lire.com je n'ai aucun soucis.

    Par contre, si j'essaie de récupérer le titre via mon script PERL, je me tape une erreur 403 "Forbidden".

    J'ai bien entendu essayé de mettre un UserAgent "Mozilla" mais toujours 403.

    Voici le bout de code utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my $url = "http://boite-a-lire.com/";
    my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0', ssl_opts => {verify_hostname => 0 });
    my $res = $ua->request(HTTP::Request->new(GET => $url));
    my $titre = $res->title;
    print "Titre : $titre \n";
    Avez-vous une idée de comment avoir accès avec PERL au titre de cette page ?

  2. #2
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bonjour,
    Bizarre en effet j'ai la même erreur avec WWW::Mechanize sur http://boite-a-lire.com alors que j'accède partout ailleurs ???

    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
    #!/usr/bin/perl
    use warnings;
    use strict;
    use utf8;
    use WWW::Mechanize;										    # Accès à un site Web
     
    my $url = "http://www.developpez.net/forums/f477/autres-langages/perl/langage/";
    my $Site = WWW::Mechanize->new();
    my $Html = $Site->get($url)->decoded_content();
    print "HTML :\n $Html \n";
     
     
    =pod
    my $url = "http://boite-a-lire.com/";
    my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0', ssl_opts => {verify_hostname => 0 });
    my $res = $ua->request(HTTP::Request->new(GET => $url));
    my $titre = $res->title;
    print "Titre : $titre \n";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    E:\_DEV\DevPerl>perl ess.pl
    Error GETing http://boite-a-lire.com/: Forbidden at ess.pl line 9.
     
    E:\_DEV\DevPerl>
    A mon avis le site contrôle s'il est accédé par l'intermédiaire d'un navigateur et dans le cas contraire il n'émet pas la page... Mais à confirmer...

    Regarde du côté de LWP::UserAgent s'il n'y a pas un nouvel agent ???
    Les agents sont très liés aux PC/OS...

    [Edit:05:00]
    J'ai lu qq part dans la semaine que Firefox se donnait le droit de refuser l'accès aux sites en https qui n'étaient suffisamment cryptés... tu en fais peut-être déjà les frais

    Erreur la boite à lire n'est pas en https

  3. #3
    Membre à l'essai
    Homme Profil pro
    Un champ requis appelé Activité est manquant ou a une valeur incorrecte.
    Inscrit en
    Mars 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un champ requis appelé Activité est manquant ou a une valeur incorrecte.

    Informations forums :
    Inscription : Mars 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Oui c'est bizarre e, effet.
    Pour le User Agent, j'ai pris la chaine renvoyée par http://www.whoishostingthis.com/tools/user-agent/ au moins, je suis sûr que c'est correct.

  4. #4
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Citation Envoyé par ghbdtn Voir le message
    Oui c'est bizarre e, effet.
    Pour le User Agent, j'ai pris la chaine renvoyée par http://www.whoishostingthis.com/tools/user-agent/ au moins, je suis sûr que c'est correct.
    Perso whoishostingthis me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
    Ce qui est correct chez moi au minimum pour la version FF=24.0

    WWW::Mechanize me liste bien les agents reconnus

    Je colle mon user_agent, il n'est toujours pas content :

    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
    #!/usr/bin/perl
    use warnings;
    use strict;
    use utf8;
    use WWW::Mechanize;										    # Accès à un site Web
     
    my $url = "http://boite-a-lire.com/";
    my $Site = WWW::Mechanize->new();
     
    my @Agent = $Site->known_agent_aliases();
    print "AGENT=@Agent==\n\n";
     
    $Site->agent_alias( 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0' );
     
    my $Html = $Site->get($url)->decoded_content();
    print "HTML :\n $Html \n";
     
     
    =pod
    my $url = "http://boite-a-lire.com/";
    my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0', ssl_opts => {verify_hostname => 0 });
    my $res = $ua->request(HTTP::Request->new(GET => $url));
    my $titre = $res->title;
    print "Titre : $titre \n";
     
     
    Perso :
    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
     
    DOC WWW::Mechanize :
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
    Dans ton code.pl tu as bien
    qui te permettrait d'avoir une info sur l'erreur... ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Un champ requis appelé Activité est manquant ou a une valeur incorrecte.
    Inscrit en
    Mars 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un champ requis appelé Activité est manquant ou a une valeur incorrecte.

    Informations forums :
    Inscription : Mars 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    J'ai testé plein d'useragent de ta liste, et toujours le même résultat chez moi :

    Nom : screenshot_20161008_104016-50970eb.png
Affichages : 395
Taille : 44,0 Ko

  6. #6
    Membre à l'essai
    Homme Profil pro
    Un champ requis appelé Activité est manquant ou a une valeur incorrecte.
    Inscrit en
    Mars 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un champ requis appelé Activité est manquant ou a une valeur incorrecte.

    Informations forums :
    Inscription : Mars 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Je viens de tester sans useragent ou avec le même useragent avec wget, ça passe ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0' -O - -q http://boite-a-lire.com/ | awk ' /<title>/ { print $0; }'
                    <title>Boite à lire</title>
    Je pense que le pb vient de PERL mais où ??

  7. #7
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    OK, je ne vois pas non plus

    Je casse une graine car je suis debout avant les poules, un peu de sport et je reviens vers 15h...

  8. #8
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Bonjour,

    J'ai déjà été confronté à ce problème sur certains sites et je pense qu'il y a des blocages de certains sites contre les aspirations de robots. Néanmoins, dans ton cas, cela fonctionne avec wget. Je ne sais pas s'il y a des options permettant de passer outre via Perl ! Il faut creuser !

  9. #9
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Voici une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

  10. #10
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bon rien de mieux

    Comme toi sous un Linux en VirtualBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    michel@Xubuntu1:~$ wget -U 'Windows Mozilla' -O - -q http://boite-a-lire.com/ | awk ' /<title>/ { print $0; }'
    		<title>Boite à lire</title>
    michel@Xubuntu1:~$ wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0' -O - -q http://boite-a-lire.com/ | awk ' /<title>/ { print $0; }'
    		<title>Boite à lire</title>
    michel@Xubuntu1:~$ wget -O - -q http://boite-a-lire.com/ | awk ' /<title>/ { print $0; }'		<title>Boite à lire</title>
    michel@Xubuntu1:~$
    Donc OK même avec un -U 'Windows Mozilla' sous Linux

    J'ai regardé vite fait le code source de la page, pas d'appel à des scripts extérieurs...
    Rien de louche à l'intérieur (à ma connaissance).

    chez moi sous Windows seul le User_agent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Site->agent_alias( 'Windows Mozilla' );
    ne donne pas d'erreur de user agent à l'exécution, mais toujours Forbidden :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    E:\_DEV\DevPerl>perl ess.pl
    AGENT=Linux Konqueror Linux Mozilla Mac Mozilla Mac Safari Windows IE 6 Windows Mozilla==
     
    Error GETing http://boite-a-lire.com/: Forbidden at ess.pl line 15.
     
    E:\_DEV\DevPerl>
    J'ai installé WWW::Mechanize sous Linux même PB avec ou sans User_Agent...
    Plus d'autre idée pour l'instant


    [EDIT:15:20]
    Il ne semble pas que ce soit l'hébergeur qui bloque, j'ai pu lancer HTTrack Website Copier sur http://boite-a-lire.com/

  11. #11
    Membre à l'essai
    Homme Profil pro
    Un champ requis appelé Activité est manquant ou a une valeur incorrecte.
    Inscrit en
    Mars 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un champ requis appelé Activité est manquant ou a une valeur incorrecte.

    Informations forums :
    Inscription : Mars 2016
    Messages : 15
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par djibril Voir le message
    Voici une piste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    Je viens d'ajouter cela dans les paramètres du useragent mais j'ai toujours 403...

  12. #12
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #my $url = 'http://www.recyclivre.com/';
    #my $url = 'http://boite-a-lire.com/';
    sont hébergés par OVH qui visiblement a bétonné ses accès ...

    Avec WWW::Mechanize autonome :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $Site = WWW::Mechanize->new( autocheck => 0 );
    On a directement l'erreur :
    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
    E:\_DEV\DevPerl>perl ess.pl
    AGENT=Linux Konqueror Linux Mozilla Mac Mozilla Mac Safari Windows IE 6 Windows Mozilla==
     
    HTML :
     <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access /
    on this server.</p>
    <p>Additionally, a 404 Not Found
    error was encountered while trying to use an ErrorDocument to handle the request.</p>
    </body></html>
     
     
    E:\_DEV\DevPerl>

Discussions similaires

  1. Erreur 403 Forbidden sur un Alias
    Par witch dans le forum Apache
    Réponses: 6
    Dernier message: 02/02/2009, 10h01
  2. [Apache/WebDAV] erreur 403 forbidden
    Par nicocolt dans le forum Subversion
    Réponses: 2
    Dernier message: 24/10/2008, 14h41
  3. Erreur 403 Forbidden
    Par cybernetique dans le forum Apache
    Réponses: 7
    Dernier message: 13/04/2005, 14h25

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