работает следующее: но теперь я пытаюсь загрузить файл с веб-сайта, который требует аутентификации (и, возможно, сохранить файл cookie, срок действия которого истекает через 24 часа) для доступа к содержимому.
как обеспечить эту аутентификацию на веб-сайте? Если пользователь, не прошедший проверку подлинности, получает доступ к URL-адресу (или веб-сайту), он / она перенаправляется на страницу аутентификации, где вы должны ввести идентификатор пользователя и пароль и нажать клавишу ввода (кнопка входа). после проверки подлинности управление автоматически возвращается к URL-адресу, который вы первоначально запросили.
вот что у меня есть до сих пор, что работает для веб-сайтов, не требующих аутентификации:
#!/usr/bin/perl
use strict;
use warnings;
use LWP;
use Data::Dumper;
my $ua = LWP::UserAgent->new;
my $agent = "my-lwp agent";
$ua->agent($agent);
$ENV{HTTPS_PROXY} = 'http://myproxy:8080';
my $req = HTTP::Request->new(GET => 'https://mail.yahoo.com');
$req->content_type('text/html');
$req->protocol('HTTP/1.0');
my $response = $ua->request($req);
if ($response->is_success) {
print "1 success\n";
}
else {
print "1 error\n";
}
print Dumper $response;
Теперь мне нужно скачать этот файл с URL-адреса: https://myurl.com/file.doc. аутентификация: имя пользователя/пароль.
Добавление определения проблемы: вот как работает обычный браузер в моей ситуации:...
- разместите ссылку в браузере: https://myurl/files/file.doc
- вы получаете страницу входа в систему (URL все еще выглядит так же)
- введите названия полей: имя пользователя/пароль
press 'ok' button (field name btnSubmit)
after successfull login:
- вы получаете новую страницу: https://newurl/pagSuccess/
- вы должны нажать «ОК» на этой странице (чтобы вернуться туда, куда вы хотели пойти...)
- then you get a browser dialog: where you have to:
select (radio button) 'Save File' press ok
- вы сделали!!! файл сохраняется локально.