libwww-SSL Post Issue

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

Hello Perl Mongers!

libwww-perl: 5.805
Crypt::SSLeay -- 0.51
OS: Solaris 8
Perl: 5.8.4

Issue Summary:
Issue with SSL POST operation.

I have a script that randomly fails against devices using HTTPS
example: I run the script 3 times aganst the same device and all works
ok. Then the next 3 runs fail. Then the next run works.
I receive these types of messages:
StatusLine[500 Server closed connection without sending any data back]
StatusLine[500 EOF]
When the script is run on our old dev server using libwww-perl: 5.79;
it seems to work everytime ok.
However, it randomly fails when using libwww-perl: 5.803 or 5.805.
Any suggestions on how to debug this?
I would appreciate any feedback at all!

use LWP;
$ua = LWP::UserAgent->new;                # create new user agent object
$url = "$baseUrl$urlConfigFile";        # create URL for getting config ascii

# set up HTTP REQUEST object
$httpReq = HTTP::Request->new(POST=>$url) ;            # init Request object
$httpReq-> content_type('application/x-www-form-urlencoded') ;
$httpReq->content('DownloadFormat=ascii');            # pass form variables
$httpReq-> authorization_basic($UID, $upassw) ;        # credentials
$strReq = $httpReq->as_string( );        # debug dump of Request object

print "\nThe Request:\n$strReq\n";
print "\n\nNow get the WSD config ascii file.\n";
print "Submitting browser request using url [$url].\n";

$httpResp = $ua->request($httpReq) ;                # launch request

$statusLine = $httpResp->status_line();
$statusCode = $httpResp->code();
$statusMsg = $httpResp->message();
print "HTTP Response: StatusLine[$statusLine] Code[$statusCode]
if ($httpResp->is_success) {
    print "Request OK.\n";
else {
    die "Request failed.\n";
# ok, save content to file
open(FILEO, ">$asciiFile") || die "Error $! Could not open file
print FILEO $httpResp->content;


Example run:

./ device-b 1900 admin admin
Processing devName [device-b] ip addr [].
Using libwww-perl-5.803
Output file is [/export/ieapps/local/test/device-b.asc].
Base URL [ ]

The Request:
Authorization: Basic ZG16c3VwcDpmaXNINHNAIWU=
Content-Type: application/x-www-form-urlencoded


Now get the WSD config ascii file.
Submitting browser request using url
[ ].
HTTP Response: StatusLine[500 EOF] Code[500] Message[EOF]
Request failed.


Re: libwww-SSL Post Issue

Quoted text here. Click to load it

It's not clear to me at precisely which point the script is failing. Is it
the call to new() ? or perhaps the $ua->request() ? or perhaps something
else ?

I think the first thing to do is to determine just where (in the script) the
rot sets in - by examining (immediately) the return values of such things as
the new() call.


Re: libwww-SSL Post Issue

Sisyphus wrote:
Quoted text here. Click to load it

new() is a has no return value; the first item with a
return status is the ->request which returns code 500.
Quoted text here. Click to load it

Re: libwww-SSL Post Issue

Quoted text here. Click to load it
not true... new returns $ua, isn'it?
a reference to your user agent

use LWP's debug mode

Site Timeline