#!/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() { chomp $_; %bad_responses = map { $_ => $_ } split(",",$_); } close(BAD); my $GOOD; open(GOOD,"<"."good") or print "No good reponses known yet.\n"; my %good_responses; while() { chomp $_; %good_responses = map { $_ => $_ } split(",",$_); } close(GOOD); my $INCOMPLETE; open(INCOMPLETE,"<","incomplete") or print "No incomplete downloads known yet.\n"; my @incomplete_responses = split(",",); 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);