- From: Ville Skytta via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 03 Dec 2009 21:28:11 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/perl/modules/W3C/LinkChecker/bin In directory hutz:/tmp/cvs-serv3923/bin Modified Files: checklink checklink.pod Log Message: Add support for cookies (command line mode only for now). Index: checklink =================================================================== RCS file: /sources/public/perl/modules/W3C/LinkChecker/bin/checklink,v retrieving revision 4.170 retrieving revision 4.171 diff -u -d -r4.170 -r4.171 --- checklink 3 Dec 2009 20:36:39 -0000 4.170 +++ checklink 3 Dec 2009 21:28:09 -0000 4.171 @@ -396,6 +396,7 @@ Redirects => 1, Dir_Redirects => 1, Accept_Language => $cmdline ? undef : $ENV{HTTP_ACCEPT_LANGUAGE}, + Cookies => undef, No_Referer => 0, Hide_Same_Realm => 0, Depth => 0, # < 0 means unlimited recursion. @@ -445,6 +446,17 @@ $ua->delay($Opts{Sleep_Time}/60); } $ua->timeout($Opts{Timeout}); +# Set up cookie stash if requested +if (defined($Opts{Cookies})) { + require HTTP::Cookies; + my $cookie_file = $Opts{Cookies}; + if ($cookie_file eq 'tmp') { + $cookie_file = undef; + } elsif ($cookie_file =~ /^(.*)$/) { + $cookie_file = $1; # untaint + } + $ua->cookie_jar(HTTP::Cookies->new(file => $cookie_file, autosave => 1)); +} eval { $ua->allow_private_ips($Opts{Allow_Private_IPs}); }; @@ -658,6 +670,7 @@ 't|timeout=i' => \$Opts{Timeout}, 'S|sleep=i' => \$Opts{Sleep_Time}, 'L|languages=s' => \$Opts{Accept_Language}, + 'c|cookies=s' => \$Opts{Cookies}, 'R|no-referer' => \$Opts{No_Referer}, 'D|depth=i' => sub { $Opts{Depth} = $_[1] unless $_[1] == 0; }, @@ -797,6 +810,8 @@ specified multiple times. -L, --languages LANGS Accept-Language header to send. The special value 'auto' causes autodetection from the environment. + -c, --cookies FILE Use cookies, load/save them in FILE. The special + value 'tmp' causes non-persistent use of cookies. -R, --no-referer Do not send the Referer HTTP header. -q, --quiet No output if no errors are found (implies -s). -v, --verbose Verbose mode. @@ -971,12 +986,22 @@ my $s = $Opts{Sleep_Time} == 1 ? '' : 's'; my $acclang = $Opts{Accept_Language} || '(not sent)'; my $send_referer = $Opts{No_Referer} ? 'not sent' : 'sending'; - printf(<<'EOF', $Accept, $acclang, $send_referer, $Opts{Sleep_Time}, $s); + my $cookies = 'not used'; + if (defined($Opts{Cookies})) { + $cookies = 'used, '; + if ($Opts{Cookies} eq 'tmp') { + $cookies .= 'non-persistent'; + } else { + $cookies .= "file $Opts{Cookies}"; + } + } + printf(<<'EOF', $Accept, $acclang, $send_referer, $cookies, $Opts{Sleep_Time}, $s); Settings used: - Accept: %s - Accept-Language: %s - Referer: %s +- Cookies: %s - Sleeping %d second%s between requests to each server EOF printf("- Excluding links matching %s\n", $Opts{Exclude}) Index: checklink.pod =================================================================== RCS file: /sources/public/perl/modules/W3C/LinkChecker/bin/checklink.pod,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- checklink.pod 4 Nov 2009 18:44:17 -0000 1.27 +++ checklink.pod 3 Dec 2009 21:28:09 -0000 1.28 @@ -116,6 +116,12 @@ if found. In CGI mode, the default is to send the value received from the client as is. +=item B<-c, --cookies> I<cookie-file> + +Use cookies, load/save them in I<cookie-file>. The special value +C<tmp> causes non-persistent use of cookies, i.e. they are used but +only stored in memory for the duration of this link checker run. + =item B<-R, --no-referer> Do not send the C<Referer> HTTP header.
Received on Thursday, 3 December 2009 21:28:12 UTC