Заранее прошу прощения, быть может мои просьбы покажутся истинным кодерам немного глупыми, но, как работает сам скрипт прокси мне ясно... Я его малость переделал, вот в таком виде он робит нормально
Код:
use HTTP::Daemon;
use LWP::UserAgent;
use Compress::Zlib;
use CGI::Carp qw(fatalsToBrowser);
my @ext = qw(x-gtar x-gzip x-tar zip image zip z gz tz taz tgz lzh arj arc tar cab wmz yfs wsz exe uu xxe bhx b64 hqx mim);
my $port = 8080;
$SIG{PIPE} = 'IGNORE';
my $server = HTTP::Daemon->new( LocalPort => $port ) or
die "Can't start server ($@)" unless defined $server;
my $ua = LWP::UserAgent->new;
$ua->default_header('My header' => "value") # вот тут я сломал голову
while (my $conn = $server->accept) {
while (my $request = $conn->get_request) {
$conn->autoflush;
$request -> remove_header('Proxy-Connection');
$request -> remove_header('Keep-Alive');
$request -> header(Connection=>'close');
my $resp = $ua->simple_request($request);
my $c_cont = $resp->content;
if ( $resp->content_encoding || (grep { $_ =~ /$resp->content_type/g } @ext) || length($c_cont) < 3000 ) {
$conn->send_response($resp);
}
else {
$c_cont_zip = Compress::Zlib::memGzip($c_cont);
$resp->content($c_cont_zip);
$resp->content_encoding('gzip');
$conn->send_response($resp);
}
}
print STDERR "Close: ", $conn->reason, "\n";
$conn->close;
undef $conn;
}
А добавил я вот эти строки
Код:
while (my $conn = $server->accept) {
my $ua = LWP::UserAgent->new;
my $str = do {my $fh = open "<filename.txt"; local $/ = undef; <$fh>};
chomp $str;
$ua->default_header('My header' => $str)
.................
}
скрипт робить перестал...
Т.е., мне нужна помощь именно в этих строках, как взять значение и засунуть его в запрос, а работа всего скрипта мне ясна, более или менее понятна...
|