powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
16 сообщений из 16, страница 1 из 1
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39496684
Чо-то лыжи не едут :(
пытаюсь отправить файл на сервер по HTTPS.
подключаюсь и читаю страничку нормально.
а вот отправить - хрен :(
что делаю не так?
мож на сервере ещё что-то должно быть включено/настроено?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
const
  c_URL = 'https://myserv.net:777/mydir';
  c_FileName = 'c:\123.txt';
  c_UserName = 'myname';
  c_Password = 'mypass';
var
  F: TFileStream;
  IdHTTP: TIdHTTP;
  IdSSLIOHandlerSocket: TIdSSLIOHandlerSocket;
  Response: string;
begin
  IdSSLIOHandlerSocket := TIdSSLIOHandlerSocket.Create(Application);
  IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv3;

  IdHTTP := TIdHTTP.Create(Application);
  IdHTTP.IOHandler := IdSSLIOHandlerSocket;
  IdHTTP.Request.BasicAuthentication := true;
  IdHTTP.Request.UserName := c_UserName;
  IdHTTP.Request.Password := c_Password;

  F := TFileStream.Create(c_FileName, fmOpenRead + fmShareDenyNone);

  try
    try
      Response := IdHTTP.Post(c_URL, F);
    except
      on E: Exception do
        MessageBox(0, PChar(E.Message), 'Ашипка!', MB_ICONERROR or MB_SETFOREGROUND or MB_APPLMODAL);
    end;
  finally
    F.Free;
    IdSSLIOHandlerSocket.Free;
    IdHTTP.Free;
  end;
end;


текст ошибки:
Код: sql
1.
HTTP/1.1 404 Not Found
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39496850
нету никого?
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39496861
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.07.2017 17:09, лыжник в кедах пишет:
> нету никого?

не знаю как в POST'е, я лично пользуюсь для этого PUT'ом.
так вот там, в твоём URL одного только указания каталога мало -
нужно указывать в том числе и имя конечного файла
(в который будет скопирован передаваемый тобой).
применительно к твоему коду:
Код: sql
1.
      Response := IdHTTP.PUT(c_URL + '/file_name.ext', F);


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498222
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум на сервере кто-то должен обработать твою команду POST
Откуда Апач знает, что сделать с этими данными, которые ты ему суёшь?
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498319
Cobalt747Как минимум на сервере кто-то должен обработать твою команду POST
Откуда Апач знает, что сделать с этими данными, которые ты ему суёшь?если не затруднит, давай подробнее.
я в этих апачах полный ноль.
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498356
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на том конце сервер принял ваш запрос, а дальше ...
http://php.net/manual/ru/features.file-upload.post-method.php
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498360
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через браузер можно отправить?
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498361
krapotkinна том конце сервер принял ваш запрос, а дальше ...
http://php.net/manual/ru/features.file-upload.post-method.php спасибо.
но это ПыхПыХ.
а у нас его нету.
"голый" апач.
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498364
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апач это веб сервер
он сам может вам только 200 OK или 404 Not found отправить
есть файл / нет файла

а кто будет обрабатывать ваше обращение на сервере ???
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498365
_Vasilisk_А через браузер можно отправить?в каком смысле?
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498367
krapotkinапач это веб сервер
он сам может вам только 200 OK или 404 Not found отправить
есть файл / нет файла

а кто будет обрабатывать ваше обращение на сервере ???а я знаю?!

кстати, PUT'ом загружается, спасибо Мимопроходящий.
а вот с POST'ом засада...
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498370
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый раз слышу, чтобы можно было на сервер файл записать куда захочешь, да без скрипта на той стороне
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498392
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лыжник в кедах_Vasilisk_А через браузер можно отправить?в каком смысле?В смысле Вы можете открыть страницу в браузере и нажать там кнопку "Загрузить файл"

Вы не путаете HTTP сервер с FTP сервером?
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498428
_Vasilisk_лыжник в кедахпропущено...
в каком смысле?В смысле Вы можете открыть страницу в браузере и нажать там кнопку "Загрузить файл"там нету кнопки.
могу запулять туда файл при помощи FF-плугина HttpRequester
_Vasilisk_Вы не путаете HTTP сервер с FTP сервером?нет.
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498451
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лыжник в кедах,

смотри, что плугин делает и по образу.
...
Рейтинг: 0 / 0
Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
    #39498461
makhaonсмотри, что плугин делает и по образу.если отправлять файл POST'ом, то выходит тоже что и у меня: 404 Not Found

в общем, я так понимаю, для отработки POST'а на сервере должен быть прописан соответствующий скрипт.
а его там нету.

для PUT'а видимо этого не требуется (или же таковой скрипт там уже таки есть).

наверное на этом обсуждение можно считать законченным.
всем принявшим посильное участие БОЛЬШОЕ СПАСИБО.
:)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Indy 9 TIdHTTP+TIdSSLIOHandlerSocket отправить файл на Web-сервер (Apache/1.3.41)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]