So this is driving me crazy. Basically, when I hard-code my user name and password, I can log-in no problem. But I want to prompt the user to enter the username and password, as I would like to share this program with others. (the program is supposed to log into our courses site and download all of our course work info - lectures, hw, etc)
This code works:
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();
however, when I try and prompt the user to enter log-in info, it does now work. printing content returns the html of the log-in page, not the following page (courses page for said user)
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();
this really makes no sense since they are essentially the same thing. I even typed in the username/password in quotes in the prompt and still no avail..... (i realize also that it wont be very easy to check without a website and log-in info, sorry about that)
use LWP
and$mech -> cookie_jar(HTTP::Cookies->new());
in your code -- Mechanize will work with cookies automatically. – Cardinalate