![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TIdHTTPServer, ответ для клиента при закачке файла [D7, WinXP]
Свой © (2007-11-23 13:36:00)компонент TIdHTTPServer
клиен посылает запрось на файл : www.my.ru/1.zip
проверяю есть ли файл, его нету отсылаю клиенту страницу что нет файла!
НО у клиента уже запустилась программа (любой менеджер закачек и он сказиват страницу html), ТАК ВОТ как этому менеджеру закачет сообщить что файла нету (и он написал что файл отсутстыует) а потом вывести в браузер страничку????
Reindeer Moss Eater (2007-11-23 15:05:00) [21][20]
Свой (2007-11-23 15:00:00) [22]я не знаю!
как его посмотреть?
Anatoly Podgoretsky (2007-11-23 14:59:00) [23]> Свой (23.11.2007 14:52:21) [21]
Какой загловок ответа?
Reindeer Moss Eater (2007-11-23 14:53:00) [24]ответ менеджера:
Мне реальный заголовок ответа сервера нужен был, а не рассказы твоего менеджера что он там думает про 404 страницу.
Свой (2007-11-23 14:52:00) [25]да запрос http://127.0.0.1/1.zip ввожу сразу в экспрорере
Reindeer Moss Eater (2007-11-23 14:51:00) [26]Тогда точить надо не сервер, а твой менеджер закачек.
Вот как ведет себя регет с твоим HTTP сервером:
Info 273 14:44:59 23.11.2007 Соединяемся с localhost (127.0.0.1:90)
Output 274 14:44:59 23.11.2007 GET /test HTTP/1.0
Output 274 User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Output 274 Accept: */*
Output 274 Referer: http://localhost:90/
Output 274 Host: localhost:90
Input 275 14:44:59 23.11.2007 HTTP/1.1 404 BLA BLA BLA
Input 275 Connection: close
Input 275 Content-Type: text/html
Input 275 Server: Indy/9.0.18
Error 276 14:44:59 23.11.2007 Error #80070002(Не удается найти указанный файл.) in CRgHttpSession::RequestFile()
Info 277 14:44:59 23.11.2007 Пауза 5 секунд
Свой (2007-11-23 14:49:00) [27]запрос http://127.0.0.1/1.zip
ответ менеджера:
файл является текстовой текстовой html страницей хотите сохранить этот файл с расширением htm?
Reindeer Moss Eater (2007-11-23 14:46:00) [28]какой загловок ответа виден в менеджере закачек?
Свой (2007-11-23 14:46:00) [29]т.е. при отсутствии файла пишу:
AResponseInfo.ResponseNo:=404; и все?
больше действий никаких дальше нету у меня! (пока)!
он все равно качает файл и т.д че надо еще то ему?
файл качается пустой если оставляю ErrorMsg на сервере то в файле интернал сервер еррор!
Reindeer Moss Eater (2007-11-23 14:45:00) [30]И какой загловок ответа виден в менеджере закачек?
Свой (2007-11-23 14:37:00) [31]aResponseInfo.ContentText:=cgi.ErrorMsg; отключил
тогда файл качает пустой
Свой (2007-11-23 14:34:00) [32]if fileexists(rez) then
begin
rez:=ExpandFileName(dir+doc);
AResponseInfo.ContentType:='application/'+zapfile;
serv.ServeFile(AThread,AResponseInfo,rez);
exit;
end
else
begin
AResponseInfo.ResponseNo:=404;
//aResponseInfo.ContentText:=pp.Content;-выключил и все равно файл он качает с текстом Internal Server Error
exit;
end;
Reindeer Moss Eater (2007-11-23 14:27:00) [33]Сначала устанваливаем AResponseInfo.ResponseNo:=404, а потом поди страницу с приветом через ServeFile посылаем.
Ага?
Свой (2007-11-23 14:24:00) [34]AResponseInfo.ResponseNo:=404;
не помогает тоже, или есть еще куда написать? indy 9 использую
Reindeer Moss Eater (2007-11-23 14:20:00) [35]а что, там так дохрена мест (свойств у AResponseInfo) куда можно записать числовой код?
Свой (2007-11-23 14:18:00) [36]не пойму что то, перегрелся видно
AResponseInfo.ResponseText:=моя страница где написано что файла нет
а как написать менеджеру что нет файла??
куда 404 написать то?
Reindeer Moss Eater (2007-11-23 14:15:00) [37]Первое - это число, а второе - это строка.
Reindeer Moss Eater (2007-11-23 14:14:00) [38]Кроме того, я тебе сказал, что "писать надо" 404, а не '404'
Reindeer Moss Eater (2007-11-23 14:12:00) [39]ResponseText - это будущий боди документа в клиенте браузера.
В твоем случае там должен быть html текст страницы "not found".
Свой (2007-11-23 14:10:00) [40]дык писал
AResponseInfo.ContentText:='404';
и так
AResponseInfo.ResponseText:='404';
результат никакой