Вход на веб-сайт с помощью Perl и Mechanize

Так что это сводит меня с ума. В принципе, когда я жестко запрограммировал свое имя пользователя и пароль, я могу войти в систему без проблем. Но я хочу предложить пользователю ввести имя пользователя и пароль, так как я хотел бы поделиться этой программой с другими. (программа должна войти на наш сайт курсов и загрузить всю информацию о наших курсах - лекции, hw и т. д.)

Этот код работает:

use WWW::Mechanize;
use LWP;

my $username = 'user'; 
my $password = 'pass';

my $mech = WWW::Mechanize->new();
$mech -> cookie_jar(HTTP::Cookies->new());
$mech -> get('log-in url');
$mech -> form_name('theform');
$mech -> field ('username' => $username);
$mech -> field ('password' => $password);
$mech -> click ('log in');
print $mech-> content();

однако, когда я пытаюсь предложить пользователю ввести данные для входа, теперь он работает. при печати содержимого возвращается html страницы входа в систему, а не следующая страница (страница курсов для указанного пользователя)

use LWP;
use WWW::Mechanize;

my $login_url = 'log-in url';
print "\nUser name: ";
my $username = <>;
print "Password: ";
my $password = <>;

my $mech = WWW::Mechanize->new();
$mech -> cookie_jar(HTTP::Cookies->new());
$mech -> get($login_url);
$mech -> form_name('theform');
$mech -> field ('username' => $username);
$mech -> field ('password' => $password);
$mech -> click ('log in');
print $mech-> content();

, это действительно не имеет смысла, поскольку по сути это одно и то же. Я даже ввел имя пользователя / пароль в кавычках в командной строке и все равно безрезультатно ..... (я также понимаю, что это будет не так просто проверить без веб-сайта и информации для входа в систему, извините за это)

5
задан msikd65 20 May 2011 в 18:15
поделиться