Текущий архив: 2003.10.13;
Скачать: CL | DM;
ВнизСкачать HTML страничку из Web module Найти похожие ветки
← →
новичёк (2003-08-04 22:43) [0]Сабж, собственно.
Суть проблемы:
В обычном локальном приложении (New -> Application) проблем не возникает (исрользую ExtActns.TDownLoadURL)
Как только тот же самый код помещаю в Web Module (New -> Other -> Web Server application) возникает ошибка при ExecuteTarget(nil);
привожу кусок кода:
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=sURL;
Filename:=sLocalFileName;
try
ExecuteTarget(nil);
except
Result:=False
end;
finally
( чтобы exe web module не наделал гадостей, будучи размещённым на Web сервере)Сабж, собственно.
Суть проблемы:
В обычном локальном приложении (New -> Application) проблем не возникает (исрользую ExtActns.TDownLoadURL)
Как только тот же самый код помещаю в Web Module (New -> Other -> Web Server application) возникает ошибка при ExecuteTarget(nil);
привожу кусок кода:
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=sURL;
Filename:=sLocalFileName;
try
ExecuteTarget(nil);
except
Result:=False
end;
finally
Free;
end;
Такое ощущение, что возникает проблема с безопасностью (чтобы exe web module не наделал гадостей, будучи размещённым на Web сервере).
КАК ЭТО ЛЕЧИТЬ? Или хотя-бы какой диагноз?
>На 90% вы не первый кто столкнулся с такой проблемой!
Скорее всего, я из тех 10% ... нигде ответа не нашёл, посему просьба на FAQ не отправлять.
← →
Palladin (2003-08-05 01:36) [1]дык тебя можно отправить куда подальше...
попробуй напиши программу с использованием компилятора который выдает всего лишь одну ошибку. "Ошибка!" и больше ничего...
другими словами: Дык какая же ошибка возникает?
← →
новичёк (2003-08-05 22:43) [2]Содержание ошибки ни к каким выводам ИМХО подтолкнуть не может:
Error downloading URL: www.rambler.ru.
(При исполнении сего куска кода sURL="www.rambler.ru" SLocalFilename="c:\temp.htm". fileexists("c:\temp.htm")=true )
Пробовал юзать АПИшные функции для работы с инетом ... та же история. В обычном приложении всё в порядке. Как только пытаюсь сделать под CGI - фига с маслом.
...
UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
Ошибки не возникает, но при этом
Assigned(UrlHandle)=false
Использование idHTTP из вкладки "Indy Clients" даёт те же самые результаты.
>другими словами: Дык какая же ошибка возникает?
Это я сам хотел бы знать. Коли бы возникал Exception, я бы сам понял в чём тут дело.
Извиняюсь, если вопрос поставлен некорректно. Суть проблемы надеюсь ясна.
PS
Неужели никто до меня с такой проблемой не сталкивался? И ни у кого CGI приложение никогда не было клиентом? И никому это даже не интересно?
Спасибо за любую ценную идею по этому вопросу... Удачи!
← →
Palladin (2003-08-06 01:50) [3]1 нужен кусок кода который вылетает
2 название веб сервера
3 cgi выполняется на тойже машине где успеншно выполнился и обычный exe?
← →
Е-Моё имя (2003-08-06 10:11) [4]может авторизация нужна для выхода на rambler? а учетная запись пользователя веб-сервера не имеет прав?
← →
автор вопроса (2003-08-06 22:45) [5]> 1 нужен кусок кода который вылетает
Поиск ошибки происходил собственно в Delphi.
1) Создаю новое Web приложение (New -> Other -> Web Server application). Копирую туда код.
2) Ставлю breakpoint на ExecuteTarget(nil);
3) Запускаю, жду останова на брейкпоинте. Смотрю в Watch следующие переменные:
sLocalFileName = "c:\temp.htm"
sURL = "www.rambler.ru"
c:\temp.htm существует.
При нажатии на F8 "синяя полоска" (eip) смещается не на finally а на след. строчку после except
Result:=True;
with TDownLoadURL.Create(nil) do
try
URL:=sURL;
Filename:=sLocalFileName;
try
ExecuteTarget(nil); // <- Вылетает здесь
except
Result:=False ///
end;
finally
Free;
end;
> 2 название веб сервера
CGI приложение созданое в Дельфях должно прекрасно запускаться и без веб сервера. Вывод при этом осуществляется не в окно Explorer"а а в консольное окно.
Тестировал как обычное консольное приложение (без веб сервера прямо из Дельфей), а также размещал в CGI-Bin на веб сервер (Apache/1.3.22), расположенный на той же самой машине. При попытке вызова (127.0.0.1\myapp.exe) Explorer ругался: Internal server error. Что происходило без веб сервера описано выше.
> 3 cgi выполняется на тойже машине где успеншно выполнился и обычный exe?
да
← →
автор вопроса (2003-08-06 22:49) [6]
> Е-Моё имя © (06.08.03 10:11)
> может авторизация нужна для выхода на rambler? а учетная
> запись пользователя веб-сервера не имеет прав?
Пробовал и на yandex.ru и на многие другие странички. Дело не в авторизации, т.к. в обычном исполнении (обычное оконное exe приложилово) тот же самый код закачивает тот же самый www.rambler.ru нормально.
← →
Е-Моё имя (2003-08-07 09:34) [7]синяя полоска" (eip) смещается не на finally а на след. строчку после except
она всегда на Result смещается, если дальше finally стоит ((
и еще по-моему какие-то случаи подобные замечал
← →
автор вопроса (2003-08-07 20:59) [8]
> она всегда на Result смещается, если дальше finally стоит
> ((
Расскажите об этом поподробнее, коллега ... Что то я Вас не так понял ... ИМХО дальнейшее выполнение программы зависит от того, что произошло между try и except. Если ошибка произошла, то выполняется то, что после except. Если не произошла - то дальше всё выполняется своим ходом. Что касается блока finally, то его содержимое выполняется всегда по завершении try, независимо от того произошла ошибка или нет. Или у Вас есть другое мнение на этот счёт? :)
Ошибка здесь не в компиляторе :). И помочь мне может только чей-то реальный опыт борьбы с описаным выше явлением ...
← →
Е-Моё имя (2003-08-08 09:49) [9]я не говорил про выполнение кода
я говорил про смещение полоски
оно не всегда отражает выполнение кода
баг или фича дебаггера (у меня Д6)
не помню точна, но вроде бывали такие ситуации - ща смоделирую
proc
...
d:=false;
if d then
exit
finally
end //finally
end //proc
так вот, когда кроме finally строк не осталось, олоска прыгает на ближайший Result:= или exit
← →
Palladin (2003-08-08 10:57) [10]что за класс TDownLoadURL?
← →
автор вопроса (2003-08-11 22:50) [11]Стандартный, поставляемый с D7:
ExtActns.TDownLoadURL
← →
автор вопроса (2003-08-15 01:39) [12]ап
← →
автор вопроса (2003-08-19 01:28) [13]Ещё один ап, в надежде на то, что кто-нибудь опытный подскажет )
Страницы: 1 вся ветка
Текущий архив: 2003.10.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.008 c