|
|
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)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/648800f726d5.html, оценка из 5, голосов 10
|