Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2726 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Demande authentification avec le script mais pas avec Firefox

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl] Demande authentification avec le script mais pas avec Firefox

n°2044404
Gavrinis
Open your mind
Posté le 26-12-2010 à 09:56:19  profilanswer
 

Bonjour,

 

Je cherche à récupérer les pharmacies de garde sur ce site (qui était dans une iframe), afin de les publier sur le site de mon village.
Le problème est que si je tente d'y accéder via mon script ci dessous, je me fais remballer à cause d'une demande d'identification.
Cette authentification m'est aussi demandée avec Chromium, mais pas avec Firefox. J'ai tenté en modifiant l'useragent mais pas de changement.

 

Voici le début de mon script Perl :

Code :
  1. #!$(which perl) -w
  2. use strict;
  3. use warnings;
  4. use HTML::Form;
  5. use LWP::Simple;
  6. use LWP::UserAgent;
  7. sub recupPharm {
  8.    # Code postal, lieu, date, heure, version.
  9.    my ($cp, $lieu, $jour, $heure, $version) = qw(5030 Lonzée 26 20h00 2);
  10.    # URL du site.
  11.    my $base = 'http://admin.ringring.be/';
  12.    # Initialise l'user-agent.
  13.    my $ua = LWP::UserAgent->new(agent => "Mozilla/5.0 (X11; U; Linux x86_64; fr-BE; rv:1.9.2.13) Gecko/20101211 Firefox/3.6.13" );
  14.    # Crée la requête
  15.    my $req = HTTP::Request->new(GET => "${base}apb/public/duty_geo2.asp?lan=2" );
  16.    # Exécute la requête et reçoit la réponse.
  17.    my $res = $ua->request($req);
  18.    die $res->status_line if not $res->is_success;
  19.    # Sélectionne le premier formulaire de la page.
  20.    my $form = (HTML::Form->parse($res->content, $base))[0];
  21.    # Remplit les champs.
  22.    $form->find_input('zip_code')->value($cp);
  23.    $form->find_input('city')->value($lieu);
  24.    $form->find_input('T_dag')->value($jour);
  25.    $form->find_input('T_hour')->value($heure);
  26.    $form->find_input('textv')->value($version);
  27.    # Exécute le formulaire.
  28.    my $validate = $ua->request($form->click);
  29.    # Récupère la page.
  30.    my $content = $validate->content;
  31.    &write($content);
  32. }
  33. sub write {
  34.    open(WRITER, "> test.txt" ) or die("Le fichier ne peut être édité !\n" );
  35.    # Écrit le paramètre dans le fichier.
  36.    print WRITER @_;
  37.    close(WRITER);
  38.    return 0;
  39. }
  40. &recupPharm();
 

L'erreur :

You are not authorized to view this page
You do not have permission to view this directory or page using the credentials you supplied.

 

Please try the following:

 

   * Click the Refresh button to try again with different credentials.
    * If you believe you should be able to view this directory or page, please contact the Web site administrator by using the e-mail address or phone number listed on the home page.

 

HTTP 401.2 - Unauthorized: Logon failed due to server configuration
Internet Information Services

 

Technical Information (for support personnel)

 

   * Background:
      This is usually caused by a server-side script not sending the proper WWW-Authenticate header field. Using Active Server Pages scripting this is done by using the AddHeader method of the Response object to request that the client use a certain authentication method to access the resource.

 

   * More information:
      Microsoft Support

 

Pouvez-vous m'aider, je n'y comprends rien ? :(


Message édité par Gavrinis le 29-12-2010 à 10:28:26
mood
Publicité
Posté le 26-12-2010 à 09:56:19  profilanswer
 

n°2044923
Gavrinis
Open your mind
Posté le 29-12-2010 à 10:29:40  profilanswer
 

Je viens de remarquer que j'avais oublié de linker la page ...

n°2044932
pataluc
Posté le 29-12-2010 à 11:12:34  profilanswer
 

peut être parce que le formulaire est en POST et non en GET...

 

PS: je ne suis pas sur que ce soit très légal de récupérer des infos automatiquement si tu n'as pas l'accord de l'éditeur du site...


Message édité par pataluc le 29-12-2010 à 11:13:13
n°2044963
Gavrinis
Open your mind
Posté le 29-12-2010 à 13:36:26  profilanswer
 

Le formulaire est peut-être en POST mais le GET de mon code fait référence à la requête de la page, je ne pense pas qu'il atteigne le formulaire vu qu'une authentification est demandée (en tout cas c'est le comportement que j'ai avec Chromium).
Je vais leur demander la permission et je collerai leur réponse ici pour preuve :).

 

Merci.


Message édité par Gavrinis le 29-12-2010 à 13:45:50

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl] Demande authentification avec le script mais pas avec Firefox

 

Sujets relatifs
[RCH] script menu de la semainescript pour
Script Accès DistantCasse-tête Script sauvegarde server
Système de cache pour script de liens changeant le contenu d'une div.Script pour lancer un programme si le ping ne répond plus
onChange champ formulaire avec affichage de scriptScript qui vérifie si un .exe est déjà lancé
script de download ftpScript shell scripting bash/Linux
Plus de sujets relatifs à : [Perl] Demande authentification avec le script mais pas avec Firefox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR