LINUX.ORG.RU

Люди, Помогите. Моя бляцкая прога о двух строках на Перле не фуричит гадина :0(


0

0

Ну прога то - без слёз не глянешь Должна брать файл и побайтово его читать и выводить так что бы эмулировать скачку реального файла

==================================================

#!/usr/bin/perl use File::stat; $fileName="/home/jonson/html/FBiHSyeDr.zip"; $lenght=stat($fileName)->size; $range=$ENV{HTTP_RANGE}; $range=~s/^bytes=(\d+).+/$1/; print "Content-type: application/octet-stream\n"; if ($range > '0') { print "Accept-Ranges: bytes\n"; print "Connection: close\n"; print "Content-range: bytes $range-",$lenght-1,"/$lenght\n"; } print "Content-length: $lenght\n\n"; open(FILE,$fileName) or die "Error: $!"; binmode(FILE); seek(FILE,$range,0); while(<FILE>){ print; }

================================

Она то работает но гадость в том что если пробовать качать этот файл через проги типа ReGet то куда то девается поддержка докачки Уже долбусь с этой хернёй хрен знает сколько Ну не хочет гадость такая она докачку поддерживать и всё ...

HELP !!!!!!!!!!!!!!!!!!

(Буду очень благодарен если на мыл мне бы кто написал в чём лажа kren@hostfornet.net )

anonymous

Re: Люди, Помогите. Моя бляцкая прога о двух строках на Перле не фуричит гадина :0(

#!/usr/bin/perl
print "Content-type:text/html\n\n<pre>";

use IO::Socket;

$url="...";
 $url =~ m/.+\/([^\/]+)$|.+\/([^\/]+)$/;
 $fn=$1;# имя файла

 if ($url=~m|^http://(.+?)/|){ #Простенькая проверочка
   $host=$1;
 }else{
   $url=~m|^(.+?)/|;
   $host=$1;
 }
 chomp($url);

 $sock = new IO::Socket::INET (PeerAddr => 'proxy.mambursoft.kiev.ua',
                              PeerPort => 3128,
                              Proto    => 'tcp',
                             );
 
 unless ($sock){
    $res= "Внимание! Не удалось подключиться к соцкету $url";
 }
 $gett="GET $url HTTP/1.0
Accept: */*
Accept-Language: en-us,ru;q=0.5
User-Agent: Mozilla/7.0 (compatible; MAMB 3.14; Okonnos 2001; MamburSoft Browser - http;//www.mambursoft.kiev.ua)
Host: $host
Range: bytes=$pozition-
Proxy-Connection: Close

";

print $sock $gett;

   open (SF, "> 5") || die "Простите,но связь с сервером потерена - ошибка: $!";

   while ($so=<$sock>){
     print  $so ;
   }
   close (SF);
 close ($sock);




короче все записывается в файл 5, по дороге че хочь то и делай. И не кумарь. са сваими регетами

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