LINUX.ORG.RU

А можно заставить wget не скачивать страницы из rejlist?

 


0

1

Скажите, пожалуйста, как заставить wget не скачивать определенные страницы при задании рекурсивного скачивания?

wget -rkpl site

--rejlist работает нехорошим образом - он сначала скачивает страницы, а потому удаляет ненужное. А мне бы хотелось, чтобы он даже не качал. не могу найти такой ключик. Подскажите, пожалуйста

★★

Последнее исправление: cetjs2 (всего исправлений: 2)

Единственная моя идея это написать сейчас простой HTTP::Proxy на perl и резать в нем ненужные мне запросы... Ой.

wieker ★★
() автор топика

Модифицировал простенький пример из тырнета. не HTTP::Proxy, конечно, но в моем простейшем случае работает.

#!/usr/bin/perl
#  Simple HTTP Proxy Program using HTTP::Daemon.
#  (c) 2007 by Takaki Makino  http://www.snowelm.com/~t/

use strict;
use warnings;

use HTTP::Daemon;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new();
my $d = HTTP::Daemon->new( 
	LocalHost => "localhost",  # remove this to listen from other machines 
				   # (i.e. open-relay... be careful of spammers!)
	LocalPort => 8080
) || die;
print "[Proxy URL:", $d->url, "]\n";

$SIG{PIPE} = 'IGNORE';
$SIG{INT} = sub { $d->close; $ua->close; };

while (my $c = $d->accept) {
	while (my $request = $c->get_request) {
		my $url = $request->uri->as_string;
		if ($url =~ ".com/\$" || $url =~ "html\$" || $url =~ ".com/?skip") {
			print $c->sockhost . ": " . $request->uri->as_string . "\n";
			$request->push_header( Via => "1.1 ". $c->sockhost );
			my $response = $ua->simple_request( $request );
			$c->send_response( $response );
		} else {
			print "REJECTED: " . $request->uri->as_string . "\n";
			$c->send_response( HTTP::Response->new( 404 ) );
		}
	}
	$c->close;
	undef($c);
}

wieker ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.