$ua = LWP::UserAgent->new;
$ua->proxy(['http', 'ftp'] => 'http://
username:pass...@proxy.myorg.com');
$req = HTTP::Request->new('GET',"http://www.perl.com");
$res = $ua->request($req);
print $res->decoded_content if $res->is_success;
### cut
i zmodyfikowałem odpowiednio username, password i proxy. Niestety przy
moich próbach (nawet tych zaczerpniętych z archiwum tej grupy o
podobnym temacie) otrzymuję komunikat:
Technical Information (for support personnel):
Error Code: 407 Proxy Authentication Required. The ISA Server requires
authorization to fulfill the request. Access to the Web Proxy filter
is denied. (12209)
Autoryzuję się przecież na proxy (username + password), więc skąd ten
komunikat?
Czy Wy, Drodzy Grupowicze dokonujecie pobierania strony WWW za proxy'm
i moglibyście mi podpowiedzieć co robię nie tak?
Pozdrawiam,
Danny
mozliwe że ISA po prostu wymaga podania pełnej nazwy usera (wraz z nazwą domeny NT)
tak jak tu http://www.perlmonks.org/index.pl?node_id=75770
ISA to product microsoftu więc mogli coś jeszcze bardziej zakręconego wymyślić ;-)
np pełną autoryzację domenową (z wykorzystaniem active directory czyli kerberosa - musisz mieć ticket żeby się uwierzytelnić do proxy)
wtedy jesteś w ciemnej dolinie. ale pewnie też się da :)
>
> Pozdrawiam,
> Danny
> mozliwe że ISA po prostu wymaga podania pełnej nazwy usera (wraz z nazwą
> domeny NT)
> tak jak tu http://www.perlmonks.org/index.pl?node_id=75770
W sieci z serwerem XP wymaga DOMENA\nazwa.usera
> ISA to product microsoftu więc mogli coś jeszcze bardziej zakręconego
> wymyślić ;-)
> np pełną autoryzację domenową (z wykorzystaniem active directory czyli
> kerberosa - musisz mieć ticket żeby się uwierzytelnić do proxy)
> wtedy jesteś w ciemnej dolinie. ale pewnie też się da :)
Aż tak źle nie jest (w końcu przez firefoxa/operę można przez ISA łączyć
się z netem).
my $ua = new LWP::UserAgent;
$ua->agent('Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)
Gecko/20020310 ');
$ua->timeout(120);
$ua->proxy(http => 'http://proxyhost.domena:port');
$url = new URI::URL('http://www.google.pl');
my $req = new HTTP::Request "GET" => ($url);
$req->proxy_authorization_basic ('DOMENA_NT\\user.name', 'pass');
my $res = $ua->request($req);
...
Microsoft dostarcza coś pod tytułem Microsoft ISA Server Firewall Client.
Po instalacji i konfiguracji proxy staje się przeźroczyste dla wszystkich
aplikacji.
Pozdrawiam
--
Vava
Wawrzyniec Żurowski
Victoria vale, et ubique es, suaviter sternutas
> $req->proxy_authorization_basic ('DOMENA_NT\\user.name', 'pass');
^^
Tu oczywiście powinien być jeden backslash... ;-)