ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Прошу помочь разобраться
  #1  
Старый 05.02.2010, 03:05
Аватар для mkth
mkth
Новичок
Регистрация: 28.11.2007
Сообщений: 12
Провел на форуме:
14370

Репутация: 0
По умолчанию Прошу помочь разобраться

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

Код:
#!/usr/bin/perl

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;

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);}
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;
}
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прошу помочь разобраться с кодом satana-fu PHP, PERL, MySQL, JavaScript 11 22.03.2009 16:46
Прошу помочь в кодинге Flenov С/С++, C#, Delphi, .NET, Asm 2 19.03.2009 10:24



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ