I'm trying to send a POST to NCDC to get data from them. Not sure if this script is what I want. Does this script send anything to the URL or should i use a different module to do this?
#!/usr/bin/perl -w
use strict;
use HTTP::Lite;
my $req;
my $ncdc = new HTTP::Lite;
my $format = 'NEXRAD Level II';
my $dataset = '6500';
my $radar_site = 'KOAX';
my $year = '2001';
my $email = 'deadpickle@gmail.com';
my %vars = ("stations" => $radar_site,
"station_lst" => "",
"typeofdata" => "RADAR",
"dtypelist" => "",
"begdatestring" => "",
"enddatestring" => "",
"begyear" => $year,
"begmonth" => '01',
"begday" => '01',
"beghour" => "",
"begmin" => "",
"endyear" => $year,
"endmonth" => '12',
"endday" => '31',
"endhour" => "",
"endmin" => "",
"timeselectminlist" => "",
"timeselectbuffer" => "",
"gvartype" => "",
"outmed" => "FTP",
"outpath" => "",
"pri" => "500",
"altdsname" => "",
"altstations1" => "",
"altstations2" => "",
"datasetname" => $dataset,
"emailadd" => $email,
"directsub" => "N",
"outdest" => "FILE",
"applname" => "",
"subqueryby" => "STATION",
"tmeth" => "Awaiting-Data-Transfer",
);
$ncdc->prepare_post(\%vars);
$req = $ncdc->request("http://has.ncdc.noaa.gov/pls/plhas/HAS.File
+Select") or die "Unable to get document: $!";
print "req: $req\n";
print $ncdc->body();
When I run the script I get:
req: 404
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /pls/plhas/HAS.FileSelect/ was not found on this ser
+ver.<P>
<HR>
<ADDRESS>Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server S
+erver at h
as.ncdc.noaa.gov Port 80</ADDRESS>
</BODY></HTML>
in return. As far as I know there is nowhere else to send the data but the URL given above.