use LWP; use HTTP::Request; sub post_cert my ($url,$certificate,$encode,$certno) = @_; # create the user agent my $agent = new LWP::UserAgent or return (0,"Unable to create HTTP Agent"); $agent->agent("Agent ID"); # create a request my $request = new HTTP::Request POST=>$url; my $post = "Buncha XML Certificate Data"; # set the host: header (for SNI) my ($host) = $url =~ m|https?://([^:/]+)|; $request->header("Host", $host); # ready -- load content $request->content($post); # fire $response = $agent->request($request); # aim if ($response->is_success) { undef $response; undef $request; undef $agent; $message = "$certno: send to $url successful"; return (1,$message); } $message = "$certno: send to $url failed\n"; $message .= "$certno: Remote said: " . $response->status_line . "\n"; undef $agent; return (0,$message); }