Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Roman Karshiev                       2:5020/400     24 Apr 2001  19:19:53
 To : All
 Subject : Content-type + Image + "Сервер закрыл соединие"...
 -------------------------------------------------------------------------------- 
 
 Пытаюсь генерировать и выдавать иконки следующим образом:
 
 (Можно не особо разбираться с кодом - пояснение вопроса внизу)
 
 === cut ===
 #!/usr/bin/perl
 
 use CGI qw/:standard/;
 use Image::Magick;
 
 my $url=param("url");
 
 $url=~s!:/!://!;
 
 my $type="plain/text";
 my $ext="txt";
 
 if(substr($url,-4) eq ".jpg") {$type="image/jpeg", $ext="jpg"}
 if(substr($url,-4) eq ".gif") {$type="image/gif", $ext="gif"}
 if(substr($url,-4) eq ".png") {$type="image/png", $ext="png"}
 
 my($image, $x);
 $image = Image::Magick->new;
 
 open HFILE,"lynx -dump $url|";
 $x = $image->Read(file=>HFILE);
 warn "$x" if "$x";
 close HFILE;
 
 print "Content-type: $type\n\n";
 
 $x = $image->Resize(geometry=>'200x150');      
 warn "$x" if "$x";
 
 $x = $image->Write("-");    
 warn "$x" if "$x";
 
 unlink("image.$ext");
 === cut ===
 
 Этот код берёт из URL параметр url=, скачивает указанную картинку из Интернет,
 масштабирует её в размеры 200x150 посредством ImageMagick и выдаёт её как
 результат.
 
 Так вот, если я качаю полученный файл через wget
 
 wget http://someserver/cgi-bin/tn.cgi?url=http://otherserver/image.jpg
 
 то всё ок. файл выкачивается и тот, что надо.
 
 Во всех остальных случаях (IE, Netscape, Opera, Reget, как по прямой ссылке,
 так и через <img src=...>) в результате выдаётся ошибка. Браузеры просто
 выдают крестик вместо картинки, ReGet выдаёт:
 
 === cut ===
 24/04/01 19:15:53  242 INF Hачинаем закачку
 [http://www.****.ru/cgi-bin/tn.cgi?url=http://www.***.ru/images/test.jpg].
 Попытка N 11
 24/04/01 19:15:53  243 INF Соединяемся с интернетом напрямую
 24/04/01 19:15:53  244 STA Переход в состояние [Запрос]
 24/04/01 19:15:53  245 INF Соединяемся с web.***.ru
 (194.186.14.140:80)
 24/04/01 19:15:53  246 OUT GET
 /cgi-bin/tn.cgi?url=http://www.***.ru/images/test.jpg HTTP/1.0
 24/04/01 19:15:53  247 OUT User-Agent: Mozilla/4.0 (compatible;
 MSIE 5.0; Windows 98)
 24/04/01 19:15:53  248 OUT Accept: */*
 24/04/01 19:15:53  249 OUT Range: bytes=0-
 24/04/01 19:15:53  250 OUT Referer: file://C:\TEMP\img.htm
 24/04/01 19:15:53  251 OUT Host: web.***.ru
 24/04/01 19:15:58  252 IN  HTTP/1.1 200 OK
 24/04/01 19:15:58  253 IN  Date: Tue, 24 Apr 2001 15:09:55 GMT
 24/04/01 19:15:58  254 IN  Server: Apache/1.3.19 (Unix)
 24/04/01 19:15:58  259 IN  Connection: close
 24/04/01 19:15:58  260 IN  Content-Type: image/jpeg
 24/04/01 19:15:58  261 STA Переход в состояние [Закачка]
 24/04/01 19:15:58  262 INF За 00:00:00 закачано 0 байтов на
 скорости 0 б/c
 24/04/01 19:15:58  263 !ER Сервер неожиданно закрыл соединение
 === cut ===
 
 Вот, собственно, вопрос - где копать? :)
 
 -- 
 =KRoN=
 http://kron.al.ru - Грёзы, Двери, Hебо...
 ICQ#4886816
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Content-type + Image + "Сервер закрыл соединие"...   Roman Karshiev   24 Apr 2001 19:19:53 
Архивное /ru.perl/648800f726d5.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional