Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 07/07/2009, 17h21   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 00h35   #2
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Citation:
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.

Citation:
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
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 14h43   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
Merci pour votre réponse

J'ai défini la variable d'environnement en majuscule :
Code :
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 :
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
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 15h04   #4
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Avec Mechanize, tu peux essayer ceci:

http://www.perlmonks.org/?node_id=269358
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 15h35   #5
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
Je ne comprends pas le lien que vous avez donné. Je débute en script Perl

Citation:
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

Dernière modification par Flipmode ; 08/07/2009 à 16h40.
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 16h35   #6
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Re,

la syntaxe pour le proxy est la suivante:

Code :
1
2
"http://login:passwd@proxy:port"
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 16h49   #7
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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

Dernière modification par Flipmode ; 08/07/2009 à 17h01.
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 16h59   #8
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Tu confonds la variable d'environnement unix avec la variable globale $ENV de perl.

Code :
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 :
1
2
3
 
perl test.pl
http://username:passwor@xxx.xxx.xxx.xxx:port
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 17h09   #9
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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

Dernière modification par Flipmode ; 08/07/2009 à 17h24.
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 17h25   #10
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
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 :
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
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 17h39   #11
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
Voici mon script Perl:
Code :
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
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2009, 18h16   #12
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
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:


Citation:
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 :
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?
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2009, 11h22   #13
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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

Dernière modification par Flipmode ; 09/07/2009 à 11h35.
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2009, 12h07   #14
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Salut,

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

Code :
1
2
3
 
unset HTTP_PROXY
export http_proxy="...."
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2009, 12h25   #15
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
Salut,

J'avais déjà défini la variable http_proxy, mais pour tester j'ai fait :
Code :
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
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2009, 12h30   #16
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 474
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 474
Points : 4 100
Points : 4 100
Ok

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

Code :
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é)
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2009, 14h15   #17
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2009, 10h17   #18
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 94
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 94
Points : 28
Points : 28
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 :
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

Dernière modification par Flipmode ; 15/07/2009 à 10h57.
Flipmode est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h56.


 
 
 
 
Partenaires

Hébergement Web