Re: WWW::Mechanize Problem
by ikegami (Patriarch) on Apr 06, 2009 at 20:34 UTC
|
They take my username directly from the system.
Using NTLM? If so, use LWP::Authen::Ntlm. (Keep in mind LWP::UserAgent is the base class of WWW::Mechanize.)
If not, would you care to post the output of the following?
my $response = $mech->response();
print $response->status_line(), "\n";
print $response->headers()->as_string();
By the way, "i am not getting any page" is an awful diagnostic. It's not even true, since a page is always returned (if only a 500 error message).
| [reply] [d/l] |
|
|
Hi, i have given below my code and the output. Please review it and provide your suggestion:
My CODE:
#!C:/Perl/bin/perl.exe
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use HTML::LinkExtor;
my $URL= "http://eonet.level3.com/";
$browser = LWP::UserAgent->new();
$browser->timeout(10);
my $request = HTTP::Request->new(GET => $URL);
my $response = $browser->request($request);
if ($response->is_error()) {printf "%s\n", $response->status_line;}
$contents = $response->content();
#print $contents;
print $response->status_line(), "\n";
print $response->headers()->as_string();
Output when i run the program:
C:\Documents and Settings\g.venkatesan\Desktop>perl lwp_test.pl
401 Unauthorized
401 Unauthorized
Date: Mon, 06 Apr 2009 21:24:30 GMT
Server: Microsoft-IIS/6.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="corp.global.level3.com"
Content-Length: 1656
Content-Type: text/html
Content-Type: text/html; charset=Windows-1252
Client-Date: Mon, 06 Apr 2009 21:24:31 GMT
Client-Peer: 10.1.131.202:80
Client-Response-Num: 1
Client-Warning: Unsupported authentication scheme 'ntlm'
Title: You are not authorized to view this page
X-Powered-By: ASP.NET
Thanks
| [reply] |
|
|
WWW-Authenticate: NTLM
to which LWP adds
Client-Warning: Unsupported authentication scheme 'ntlm'
Use LWP::Authen::Ntlm as I previously mentioned.
It looks like it also supports the less secure Basic authentication. But since you need to provide the credentials using the credentials method either way, use the more secure ::Ntlm.
PS - On PerlMonks, you'll save yourself trouble by placing computer text (code, data, output) in <c>...</c> tags. They handle line breaks and escaping of special characters for you.
| [reply] [d/l] [select] |
|
|
|
|
|
Re: WWW::Mechanize Problem
by Herkum (Parson) on Apr 06, 2009 at 19:12 UTC
|
There are two potential problems. Either A) The server does not recognize the machine/browser and decided to deny you access. B) You need to set authentication credentials for your WWW::Mechanize session. You should look at LWP::UserAgent on how to set those credentials (as Mechanize inherits functionality from the UserAgent module).
| [reply] |
|
|
Hi,
Thanks for the reply.
Actually the site does not ask for any username or password. It takes the username from my login in to my PC.So, i dont know a way to provide username and password for such a site.
Could you suggest a way, please?
| [reply] |
|
|
| [reply] |
|
|
Re: WWW::Mechanize Problem
by Anonymous Monk on Apr 06, 2009 at 17:00 UTC
|
You are not authorized sends a strong message. | [reply] |
Re: WWW::Mechanize Problem
by VinsWorldcom (Prior) on Apr 06, 2009 at 17:11 UTC
|
Are you able to view the page by just putting that URL into a browser?
This sounds like a Web Server permission issue rather than a Perl module issue.
| [reply] |
|
|
yeah i can use this link in web browse and am able to launch the page. But if i try to access it via WWW::Mechanze or LWP::UserAgent module i am not getting any page. Also, this page does not ask for any user credentials while logging in. They take my username directly from the system.
| [reply] |