Just checked, if you press the "yes" button, the browser sends
* action
o continue
* Continue
o Yes
and if you're pressing "no", you get
* action
o continue
* Abort
o No
So, in your code, you need to say
POST 'http://companyname.com/Customer/support/Patch/releases
/ClientDownload/download/download.asp',
[action => "continue",
Continue => "Yes"];
to create a HTTP::Request object simulating the "Yes". Check out the documentation on HTTP::Request::Common -- the POST function expects a URL and a reference to an array containing key-value pairs of CGI parameters you want to pass.
If you want to figure out what a browser sends to a server, there's a simple trick: Put a cgi-dump script like
use CGI qw/:standard/;
my($self) = CGI::self_or_CGI();
print header(),
start_html('-title' => "CGI Dump",
'-BGCOLOR' => "white"),
h2("Query Parameters:"),
CGI::as_string(),
h2("Environment:"),
(map { p("$_ => $ENV{$_}") } sort keys %ENV),
end_html();
into a cgi-bin directory of a web server you have control over (it can even be on your local machine). Then, save the HTML of the form you're testing to a local file, and replace its action-URL by the URL to the CGI script on your server (e.g. http://localhost/cgi-bin/dump.cgi). If you then load the local HTML form file into the browser (File->OpenFile) and click on the submit button, the browser will contact your server with the dump-script above and show which parameters have actually been submitted -- this way, you don't need to worry about JavaScript, because the browser takes care of it.
|