Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
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

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://527202]
help
Chatterbox?
[Corion]: If you have whitespace in the column names in the database, whap the DBAs ;)
[shmem]: It's common for some vendors to have column names such as WRSTVG or some other such whizzbang, and another table where these names are mapped to something meaningful depending on how you look at the data
[shmem]: afair in SAP that occurs all the time
[shmem]: afair in SAP that sort of indirection is sprinkled all over the database (for hysterical raisins)

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (12)
As of 2017-05-25 13:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?