Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
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 drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2014-12-18 06:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (43 votes), past polls