|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitriy Goldobin 2:5020/400 03 Apr 2000 14:21:52 To : All Subject : Re: Authentification -------------------------------------------------------------------------------- Hi! > Hужно из программы подключиться к web-серверу там, где пароль нужен. > Какова последовательность действий, используя LWP? Если realm заранее известен, то можно заранее установить все нужные пароли через credentials(): - --- #!/usr/bin/perl -w #use strict; use LWP; my $ua = new LWP::UserAgent; my $req = new HTTP::Request GET => 'http://www.host.com/private'; $ua->credentials( $req->uri->host_port, 'known-realm', 'mylogin', 'mypassword' ); my $res = $ua->request( $req ); die $res->message unless $res->is_success; print $res->content; - --- Если же нет, то нужно наследовать своего агента и переопределять get_basic_credentials: - --- #!/usr/bin/perl -w #use strict; use LWP; { package MyUserAgent; @ISA = qw(LWP::UserAgent); sub new { LWP::UserAgent::new(@_) } sub get_basic_credentials { ('mylogin','mypassword') } } my $ua = new MyUserAgent; my $req = new HTTP::Request GET => 'http://www.host.com/private'; my $res = $ua->request( $req ); die $res->message unless $res->is_success; print $res->content; - --- В get_basic_credentials естественно могут быть более осмысленные действия - поиск в файле по host/realm например. Bye. --- ifmail v.2.15dev4 * Origin: Electronic Microsystems JSC (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/21956de8116fd.html, оценка из 5, голосов 10
|