#!/usr/bin/perl use warnings; use strict; use XML::Smart; use LWP::UserAgent; my $doc = XML::Smart->new(); $doc->{PHC_LOGIN}{USERID} = 'john.doe'; $doc->{PHC_LOGIN}{USERID}->set_node(1); $doc->{PHC_LOGIN}{USERPASSWORD} = 'FAKEPASSWORD'; $doc->{PHC_LOGIN}{USERPASSWORD}->set_node(1); $doc->{PHC_LOGIN}{PARTNERID} = '111'; $doc->{PHC_LOGIN}{PARTNERID}->set_node(1); $doc->save('output.xml'); my $sendXML="output.xml"; my $webpage="https://example.com/Login/AutoLogin.aspx"; my $message=""; open (XML,$sendXML); while () { $message .="$_"; } close XML; my $ua = LWP::UserAgent->new; $ua->add_handler("request_send", sub { shift->dump; return }); $ua->add_handler("response_done", sub { shift->dump; return }); $ua->proxy('https', 'http://proxy.example.net:8080/'); my $header= $ua->default_headers; my $response = $ua->post($webpage, Content_Type => 'text/xml', Content => $message); $response->decoded_content; if ($response->is_success) { my $html = $response->content; if ( $html =~ /\(.*)\<\/REDIRECTURL\>/) { my $dest = $1; $ua->post($dest); } else { print "No redirect url found\n"; }; } else { die print $response->status_line; print $response->decoded_content; };