#!/usr/bin/perl -wT
use strict;
require HTTP::Request;
require LWP::UserAgent;
my $agent = LWP::UserAgent->new;
my $baseurl = 'http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs';
sub get_doc($) {
print "Getting docuemnt $_";
`wget $_`;
}
my $BAD;
open(BAD,"<","bad") or print "No bad respones known yet.\n";
my %bad_responses;
while(<BAD>) {
chomp $_;
%bad_responses = map { $_ => $_ } split(",",$_);
}
close(BAD);
my $GOOD;
open(GOOD,"<"."good") or print "No good reponses known yet.\n";
my %good_responses;
while(<GOOD>) {
chomp $_;
%good_responses = map { $_ => $_ } split(",",$_);
}
close(GOOD);
my $INCOMPLETE;
open(INCOMPLETE,"<","incomplete") or print "No incomplete downloads known yet.\n";
my @incomplete_responses = split(",",<INCOMPLETE>);
my @testarray = (10000..10005);
foreach(@testarray) {
unless (exists($bad_responses{$_}) || exists($good_responses{$_}) ) {
my $doc = "$_.PDF";
my $response = $agent->head("$baseurl/$doc");
$doc = lc($doc) unless $response->is_success;
my $response2 = $agent->head("$baseurl/$doc");
if($response->is_success || $response2->is_success) {
print "$_ is valid\n";
$good_responses{$_} = $_;
}
else {
print "$_ is invalid\n";
$bad_responses{$_} = $_;
}
}
else {
print "Already got response for $_, skipping..\n";
}
}
open(BAD,">","bad") or print "Can't open the bad file for writing\n";
open(GOOD,">","good") or print "Can't open the good file for writing\n";
print BAD join(",",sort(keys(%bad_responses)));
print GOOD join(",",sort(keys(%good_responses)));
close(BAD);