Я пытаюсь написать скрипт perl для входа на защищенный паролем сайт. Я использовал модуль WWW :: Mechanize для подобных задач в прошлом, но этот сайт отличается несколькими способами:Войдите в https-сайт, используя perl
-Он использует javascript на защищенных страницах, поэтому механизация не будет работать. Я бы предпочел реализовать что-то с безгласным браузером, поскольку скрипт запускается ежечасно на моем рабочем компьютере.
-Он не имеет формы для входа в систему, а браузер отображает всплывающее окно для входа в систему, и я не могу на всю жизнь понять, как с этим бороться.
URL-адрес: https://fwxwww2.hpr.for.gov.bc.ca/Scripts/Public/Common/Report.asp?Report=Hourly
Я нашел достаточно хорошие ресурсы для того, как приступить к JavaScript после входа в систему, так что это действительно просто, как проверить подлинность, которая заставила меня в тупик. Заранее спасибо за любые предложения о том, как подойти к этому. Я открыт для решений, которые не связаны с perl, но я запускаю cygwin, поэтому варианты несколько ограничены.
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use Data::Dumper;
my $url= 'https://fwxwww2.hpr.for.gov.bc.ca/Scripts/Public/Common/Report.asp?Report=Hourly';
my $mech = WWW::Mechanize->new(autocheck => 1);
$mech->credentials(
'myusername',
'mypassword'
);
$mech->get($url);
print $mech->content();
учетные данные() принимает четыре аргумента. См. [Этот поток, который включает пример кода] (http://www.perlmonks.org/?node_id=437928). –
Cheers. Механизм [документация] (http://search.cpan.org/dist/WWW-Mechanize/lib/WWW/Mechanize.pm#$mech-> credentials (_ $ username, _ $ password_)) указывает, что 2 аргумента тоже приемлемо. – wxnerd
Ах, прошу прощения. Не осознавали, что они расширили эту функциональность. –