dukeisno1 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, I'm having the darndest time trying to figure this out.

Using LWP to access a web page that's hosted by MSFT Sharepoint (i.e., NTLM authentication). When I run the script on Windows or RedHat machines, it works. On Solaris (where I need it to work), it fails. Looking at the log, it appears on Solaris it's not handling the original 401 response code properly and re-requesting the page (as it does on Windows and RedHat). Script below:

TIA.

Joe

#!/usr/local/bin/perl -w use LWP::UserAgent; use LWP::Authen::Basic; use HTTP::Request::Common; my $url = 'http://sharepoint/path/to/page.aspx'; my $ua = new LWP::UserAgent(keep_alive=>1); $ua->credentials('sharepoint:80', '', "domain\\user", 'password'); $ua->max_redirect('9'); $request = GET $url; print "--Performing request now...-----------\n"; $response = $ua->request($request); print "--Done with request-------------------\n"; if ($response->is_success) { print "It worked!->" . $response->code . "\n" } else { print "It didn't work!->" . $response->code . "\n" } open(HTTPLOGFILE, ">>http.log") or die "\nERROR: Failed to open http.l +og file\n\n"; print HTTPLOGFILE $request->as_string, "\n\n"; print HTTPLOGFILE $response->as_string, "\n\n";

Replies are listed 'Best First'.
Re: LWP on Solaris not handling 401
by ikegami (Patriarch) on Nov 15, 2010 at 18:33 UTC
    Make sure Authen::NTLM is installed. (You could add use Authen::NTLM; to do that.)

      Ah... we don't have Authen::NTLM on the Solaris machine...getting it added.

      Many thanks.

      Joe