Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2016, 01:25   #1
Thechno-1024
Пользователь
 
Регистрация: 16.04.2016
Сообщений: 20
По умолчанию Сервер не загружает страницу.

Я создаю HTTP-сервер на Delphi 7. К сожалению, несмотря на то что все делаю по инструкции, сервер упорно отказывается работать. Вот код:

Код:
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
if ARequestInfo.Document = '/' then
IdHTTPServer1.ServeFile(AThread, AResponseInfo, 'Путь к web-странице')
else
IdHTTPServer1.ServeFile(AThread, AResponseInfo, 'Путь к каталогу со всем проектом вообще' + ARequestInfo.Document);
end;
Сервер должен загружать web-страницу лежащую у меня на жестком диске, при введении в адресную строку браузера моего IP-адреса. Но почему-то он этого не делает. При этом, когда я раньше использовал вышеприведенный код, все прекрасно работало.
Thechno-1024 вне форума Ответить с цитированием
Старый 19.04.2016, 01:14   #2
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

'Путь к каталогу со всем проектом вообще' заканчивается слэшем?
kropotkina-alice вне форума Ответить с цитированием
Старый 21.04.2016, 05:49   #3
Thechno-1024
Пользователь
 
Регистрация: 16.04.2016
Сообщений: 20
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
'Путь к каталогу со всем проектом вообще' заканчивается слэшем?
Ну, собственно, там стоит один только слэш. Вот так вот:
Код:
else
IdHTTPServer1.ServeFile(AThread, AResponseInfo, '\' + ARequestInfo.Document);
Ибо сам сервер лежит в одном каталоге со страницами.
Thechno-1024 вне форума Ответить с цитированием
Старый 21.04.2016, 14:21   #4
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

А задавать полный путь вы пробовали?
Т.е. что-то вроде:
Код:
IdHTTPServer1.ServeFile(AThread, AResponseInfo, 'C:\MyServer\' + ARequestInfo.Document);
А насчет того, что
Цитата:
Сообщение от Thechno-1024 Посмотреть сообщение
Ну, собственно, там стоит один только слэш. Вот так вот:
Код:
else
IdHTTPServer1.ServeFile(AThread, AResponseInfo, '\' + ARequestInfo.Document);
то, на мой взгляд, слэш в таком случае там не нужен,
Цитата:
Ибо сам сервер лежит в одном каталоге со страницами

Последний раз редактировалось kropotkina-alice; 21.04.2016 в 14:25.
kropotkina-alice вне форума Ответить с цитированием
Старый 21.04.2016, 16:24   #5
Thechno-1024
Пользователь
 
Регистрация: 16.04.2016
Сообщений: 20
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
А задавать полный путь вы пробовали?
Т.е. что-то вроде:
Код:
IdHTTPServer1.ServeFile(AThread, AResponseInfo, 'C:\MyServer\' + ARequestInfo.Document);
Пробовал.
Thechno-1024 вне форума Ответить с цитированием
Старый 21.04.2016, 19:34   #6
DIONISKA
Форумчанин
 
Регистрация: 07.11.2011
Сообщений: 161
По умолчанию

так пробовал:
Код:
var st:TStringStream;
  path:string;
begin
path:=ExtractFilePath(ParamStr(0));
st:=TStringStream.Create;
try
if ARequestInfo.Document='/' then
  st.LoadFromfile(path+'index.html')
 else
   if FileExists(path+ARequestInfo.Document) then
      st.LoadFromfile(path+ARequestInfo.Document) else
          st.LoadFromFile(path+'404.html');
AResponseInfo.ContentType := 'text/html';
AResponseInfo.ContentStream:=TMemoryStream.Create;
AResponseInfo.ContentStream.CopyFrom(st,st.Size);
finally
  st.Free;
end;

end;
?

Последний раз редактировалось DIONISKA; 21.04.2016 в 19:36.
DIONISKA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не загружает бд в pma unesco PHP 1 23.01.2016 09:53
c# OpenPop - не загружает письмо Artprog C# (си шарп) 1 06.02.2013 21:23
Не загружает впеременную cargo29 Мультимедиа в Delphi 11 06.05.2011 23:22
Мемо загружает коряво... MyLastHit Общие вопросы Delphi 7 22.12.2010 15:40
idHTTP не загружает всю страницу Terikon Работа с сетью в Delphi 2 28.03.2009 21:57