pg has asked for the wisdom of the Perl Monks concerning the following question:
Merry Christmas!
In my Perl helps Tomcat, I said that one thing I wanted to do was to use LWP::UserAgent, instead of forming HTPP request and doing socket calls myself.
But I am having some problem with the credentials() call with UserAgent. My expectation was that UserAgent will take whatever I specified with credentials() call, and add Authorization to the HTTP request, as what I did oringially. But either I had the wrong expectation, or I used credentials() in a wrong way, it does not work for me (my oringinal script works). Here is my attempt:
use LWP::UserAgent; use HTTP::Request; use strict; use warnings; my $ua = new LWP::UserAgent(); $ua->credentials("http://localhost:8080/", "Basic", "peip", "930612"); my $req; if ($ARGV[0] eq "remove") { $req = new HTTP::Request("GET", "http://localhost:8080/manager/rem +ove?path=/hello1"); } elsif ($ARGV[0] eq "install") { $req = new HTTP::Request("GET", "http://localhost:8080/manager/ins +tall?path=/hello1&war=jar:file:/jwsdp/webapps/jwstutorial13/examples/ +web/hello1/dist/hello1.war!/"); } my $res = $ua->request($req); print $res->content();
Update:
Checked the source code of LWP::UserAgent. It looks like LWP::UserAgent does not send out Authorization in its first request. Instead it waits for the server to send back a response to challenge. Tomcat obviously responsed with the correct code: 401. I am now checking why LWP::UserAgent didn't response to 401.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: problem with credentials() of LWP::UserAgent
by pg (Canon) on Dec 25, 2003 at 02:33 UTC | |
by xenchu (Friar) on Dec 26, 2003 at 00:16 UTC |