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

Sécurité Discussion :

Proxy Authentication Required => L'accès au service du proxy Web est refusé


Sujet :

Sécurité

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut Proxy Authentication Required => L'accès au service du proxy Web est refusé
    Bonjour,

    Je ne sais pas si je suis sur le bon forum, je travaille sous Red hat EL 5 et j'ai un problème avec mon proxy.

    Je l'ai configuré dans Firefox donc j'ai accès à Internet. Puis j'ai configuré le proxy en ligne de commande ainsi : http_proxy="http://domaine/login:passwd@proxy:port"

    J'arrive à faire des ping et à faire des wget (par exemple: wget http://google.com)

    Mais voici le problème que j'ai lorsque je lance mon script Perl:
    Error GETing http://Adresse_Web.com/: Proxy Authentication Required ( Le serveur ISA requiert l'autorisation d'exécuter la demande. L'accès au service du proxy Web est refusé. ) at ./sender.pl line 14

    La ligne 14 de mon script Perl correspond à : $url->get("http://Adresse_Web.com/");

    Le get ne fonctionne pas, je ne sais pas comment résoudre ce problème

    Merci pour votre aide

    Flipmode

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je l'ai configuré dans Firefox donc j'ai accès à Internet. Puis j'ai configuré le proxy en ligne de commande ainsi : http_proxy="http://domaine/login:passwd@proxy:port"
    Salut,

    Les variables d'environnomment sous linux sont en majuscule et non en minuscule.

    HTTP_PROXY="...."
    Sinon tu as ce lien qui donne des exemples d'utilisation d'un script perl avec un proxy.

    http://www.pervasive-network.org/SPI...ion-d-un-proxy

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Merci pour votre réponse

    J'ai défini la variable d'environnement en majuscule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export HTTP_PROXY="http://domaine/login:passwd@proxy:port"
    Mais ça ne fonctionne toujours pas.
    Merci pour votre lien avec les exemples d'utilisation d'un script Perl avec un proxy mais ce n'est pas vraiment ce que je souhaite faire.

    Voici mon script Perl :
    Code Perl : 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
    #!/usr/bin/perl
    use strict;
    use warnings;
    
    my $phone_number = $ARGV[0];
    my $text_to_send = $ARGV[1];
    
    #Crée un nouveau navigateur virtuel
    use WWW::Mechanize;
    my $browser = WWW::Mechanize->new();
    
    #On va sur la page Web
    $browser->get("http://Adresse_Web.com/");
    
    #Le get ne fait que télécharger la page, maintenant on va la remplir et appuyer sur le bouton submit
    #$browser->form(1);
    $browser->form_number(1);
    $browser->field("DEST", $phone_number);
    $browser->field("SHORT_MESSAGE", $text_to_send);
    $browser->click();

    Merci pour votre aide

    Flipmode

  4. #4
    Invité
    Invité(e)
    Par défaut
    Avec Mechanize, tu peux essayer ceci:

    http://www.perlmonks.org/?node_id=269358

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Je ne comprends pas le lien que vous avez donné. Je débute en script Perl

    At work, I have set $ENV{HTTP_PROXY} to http://login:password@proxyserver, and it magically works :

    use strict;
    use WWW::Mechanize;
    my $agent = WWW::Mechanize->new();
    $agent->env_proxy();
    $agent->get('http://www.google.com');
    print $agent->content;

    perl -MHTTP :: Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The
    $d = new HTTP :: Daemon and fork and getprint $d->url and exit;#spider
    ($c = $d->accept())->get_request(); $c->send_response( new #in the
    HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
    Il faut que je fasse :
    export $ENV{HTTP_PROXY} ="http://domaine/login:passwd@proxy:port" ou
    export $ENV{HTTP_PROXY} ="http://login:passwd@proxy"

    Je ne sais pas si je dois indiquer le domaine et le port ?

    Merci pour vos précisions et votre aide

    Flipmode

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re,

    la syntaxe pour le proxy est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "http://login:passwd@proxy:port"

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Merci pour votre réponse

    Quand je fais un echo $ENV{HTTP_PROXY}, j'obtiens {HTTP_PROXY}
    Quand vous tappez echo $ENV{HTTP_PROXY}, vous obtenez quoi ?

    Quand je fais un export $ENV{HTTP_PROXY} ="http://login:passwd@proxy:port", j'obtiens :
    bash: export: `{HTTP_PROXY}=http://login:passwd@proxy:port': not a valid identifier

    J'ai testé avec le domaine car mon login dépend d'un domaine mais j'obtiens la meme erreur
    Quand je fais un export $ENV{HTTP_PROXY} ="http://domaine\login:passwd@proxy:port",
    bash: export: `{HTTP_PROXY}=http://domaine\login:passwd@proxy:port': not a valid identifier

    Merci pour votre aide

    Flipmode

  8. #8
    Invité
    Invité(e)
    Par défaut
    Tu confonds la variable d'environnement unix avec la variable globale $ENV de perl.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $ export HTTP_PROXY=http://username:passwor@xxx.xxx.xxx.xxx:port
     
    $cat test.pl
    print $ENV{HTTP_PROXY}; 
    //on récupère la valeur de la variable d'environnement linux via la variable $ENV de perl.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    perl test.pl
    http://username:passwor@xxx.xxx.xxx.xxx:port

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Merci pour les précisions concernant la variable d'environnement Unix et la variable globale $ENV de Perl. Maintenant c'est plus clair dans ma tete.

    Mais je ne vois pas trop comment je vais pouvoir l'utiliser dans mon script Perl (cf mon 2eme post)

    Encore un grand merci pour votre aide

    Flipmode

  10. #10
    Invité
    Invité(e)
    Par défaut
    Dans le post précédent, le code que tu as mentionnée la variable d'environnement HTTP_PROXY est mappée via la méthode env_proxy(); donc si tu as définis ta variable d'environnement linux HTTP_PROXY avec la syntaxe définie précédemment. ça devrait pouvoir fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    use strict;
    use WWW::Mechanize; 
    my $agent = WWW::Mechanize->new(); //on créé un objet agent
    $agent->env_proxy(); // on charge la valeur du proxy
    $agent->get('http://www.google.com'); //on demande la page de google
    print $agent->content // on affiche son contenu
    http://hell.org.ua/Docs/oreilly/perl...ut/c17_018.htm

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Voici mon script Perl:
    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
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    my $phone_number = $ARGV[0];
    my $text_to_send = $ARGV[1];
     
    #Crée un nouveau navigateur virtuel
    use WWW::Mechanize;
    my $browser = WWW::Mechanize->new();
     
    #On va sur la page de portail sms
    $browser->env_proxy();
    $browser->get('http://www.labsfr.net/relance/');
    print $browser->content;
     
    #Le get ne fait que télécharger la page, maintenant on va la remplir et appuyer sur le bouton submit
    #$browser->form(1);
    $browser->form_number(1);
    $browser->field("DEST", $phone_number);
    $browser->field("SHORT_MESSAGE", $text_to_send);
    $browser->click();
    Mais quand j'éxécute mon script Perl avec les options qui vont bien, j'obtiens:
    Error GETing http://www.labsfr.net/relance/ Proxy Authentication Required ( Le serveur ISA requiert l'autorisation d'exécuter la demande. L'accès au service du proxy Web est refusé. ) at ./SMS_sender.pl line 15

    Pourtant j'ai bien défini la variable d'environnement linux HTTP_PROXY:
    echo $HTTP_PROXY => http://domaine\login:passwd@proxy:port

    J'ai aussi essayé avec HTTP_PROXY=http://login:passwd@proxy:port mais ça ne fonctionne pas non plus, j'ai la meme erreur

    Merci pour votre aide

    Flipmode

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bon je viens de faire un test de connectivté derrière un proxy avec un extrait de ton script et ça passe sans problème pour l'authentification via proxy:


    user@fngubutstmon:~$ export HTTP_PROXY=http://username:password@172.28.43.20:8080
    user@fngubutstmon:~$ echo $HTTP_PROXY
    http://username:password@172.28.43.20:8080

    user@fngubutstmon:~$ cat test.pl
    #!/usr/bin/perl

    use strict;
    use warnings;

    use WWW::Mechanize;
    my $browser = WWW::Mechanize->new();

    $browser->env_proxy();
    $browser->get('http://www.labsfr.net/relance/');
    print $browser->content;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     ./test.pl
    Error GETing http://www.labsfr.net/relance/: Forbidden at ./test.pl line 13
    J'ai bien une erreur 403 en me connectant à ton url via un navigateur.
    Pas d'erreur d'authentification.

    As-tu vérifié si le user/mot de passe est bien correct pour l'authentification du proxy?

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Merci pour votre réponse

    Mon user/mot de passe est correct pour l'authentification du proxy car c'est celui que j'ai défini dans mon navigateur et j'accède correctement à Internet.

    Est-ce qu'il y a une commande ou un moyen de vérifier si le user/mot de passe est bien correct pour l'authentification du proxy?

    Voila ce que j'ai défini :
    export HTTP_PROXY="http://domaine\login:password@proxy:port"
    Je ne suis pas sur de la syntaxe

    La seule différence entre l'authentification de nos 2 proxy, c'est le domaine

    Encore merci pour votre aide

    Flipmode

  14. #14
    Invité
    Invité(e)
    Par défaut
    Salut,

    A titre de test, pourrais-tu définir la variable http_proxy en minuscule et voir si ça passe ou pas?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    unset HTTP_PROXY
    export http_proxy="...."

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Salut,

    J'avais déjà défini la variable http_proxy, mais pour tester j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    unset HTTP_PROXY
    unset  http_proxy
    export http_proxy="http://domaine\login:password@proxy:port"
    Mais j'ai toujours la même erreur, je commence à désespérer
    Je me demande si c'est vraiment la variable http_proxy qu'il faut définir

    Merci pour votre aide

    Flipmode

  16. #16
    Invité
    Invité(e)
    Par défaut
    Ok

    pourrais-tu modifier la ligne de code suivante pour faire croire que ton agent est un navigateur firefox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $browser = WWW::Mechanize->new( agent=>'Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11');
    Peux-être que le proxy ISA refusent les requêtes d'agent inconnus.

    Sinon il faudra voir avec l'administrateur du proxy (si tu en as la possibilité)

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Merci encore pour votre réponse.

    J'ai modifié la ligne de code pour faire croire que mon agent est un navigateur Firefox.

    my $browser = WWW::Mechanize->new( agent=>'Mozilla/5.0 (Windows; U; Windows NT 5.0; fr; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11');


    Mais j'ai toujours la meme erreur. Je vais essayer de voir avec la personne qui gére le proxy.
    Si vous avez d'autres suggestions, n'hésitez pas.

    Je vous tiens au courant si l'administrateur du proxy arrive à résoudre mon problème

    Merci pour votre aide

    Flipmode

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 93
    Par défaut
    Bonjour,

    J'ai été voir l'administrateur du proxy pour ne plus passer par le proxy depuis mon serveur et ainsi résoudre mon problème de proxy

    Dans le terminal, j'ai exécuté les commandes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unset HTTP_PROXY
    unset http_proxy
    Sur mon serveur Linux, j'ai reconfiguré mon proxy réseau pour ne pas passer par le proxy. Quand je lance mon script Perl ça fonctionne correctement, je n'ai plus l'erreur de proxy

    Encore un grand merci pour votre aide

    Flipmode

  19. #19
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut
    Citation Envoyé par Flipmode Voir le message
    Puis j'ai configuré le proxy en ligne de commande ainsi : http_proxy="http://domaine/login:passwd@proxy:port"
    La syntaxe de l'URL semble incorrecte, j'aurais plutôt mis quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http_proxy="http://login:passwd@domaine:port/proxy"

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

Discussions similaires

  1. Accès Web Services / Reverse Proxy
    Par kilicool dans le forum Services Web
    Réponses: 1
    Dernier message: 23/08/2011, 09h01
  2. 407 Proxy Authentication Required
    Par devdev2003 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 28/05/2010, 16h34
  3. Problème Script Perl : Proxy Authentication Required
    Par Flipmode dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2009, 17h23
  4. 407 Proxy Authentication Required
    Par devdev2003 dans le forum Services Web
    Réponses: 1
    Dernier message: 28/06/2007, 14h35

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