Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: WWW::Mechanize Cognos web

by monarch (Priest)
on Feb 02, 2006 at 00:37 UTC ( #527202=note: print w/ replies, xml ) Need Help??


in reply to WWW::Mechanize Cognos web

If your authentication is Basic where the browser pops up a window asking for your username and password then you can provide these by creating a child class of WWW::Mechanize (or LWP::UserAgent) as follows:

{ package MyAgent; use vars qw(@ISA); @ISA = qw(LWP::UserAgent); sub new { my $self = LWP::UserAgent::new(@_); $self->agent("lwp-request/$LWP::UserAgent::VERSION"); $self; } # this routine gets called when your browser # would otherwise be asked to provide a # username and password sub get_basic_credentials { my ($self, $realm, $uri) = @_; print( STDERR " - providing auth to realm \"$realm\"\n" ); return( $username, $password ); } }
{ package MyMech; use vars qw(@ISA); @ISA = qw(WWW::Mechanize); sub new { my $self = WWW::Mechanize::new(@_); $self->agent("www-mechanize/$WWW::Mechanize::VERSION"); $self; } # this routine gets called when your browser # would otherwise be asked to provide a # username and password sub get_basic_credentials { my ($self, $realm, $uri) = @_; print( STDERR " - providing auth to realm \"$realm\"\n" ); return( $username, $password ); } }

You just then use your new class instead.

my $mech = MyMech->new(); $mech->get( $url ); print $mech->status, "\n"; print $mech->success;

Note this technique not only works with web sites using Basic but company web proxies that stop and ask you for a username and password before proceeding (it appears this could be the case for this particular thread).

Update:
- Added readmore tags..
- Added comment about company proxies


Comment on Re: WWW::Mechanize Cognos web
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://527202]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2015-07-04 09:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (59 votes), past polls