powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Генерация POST-запроса для скачивания файла
6 сообщений из 6, страница 1 из 1
Генерация POST-запроса для скачивания файла
    #38081999
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь
http://www.php.su/articles/?cat=protocols&page=002
есть описание интерфейса для генерации POST-запроса по протоколу HTTP для отправки файла на сервер.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
POST http://www.site.ru/postnews.html HTTP/1.0\r\n 
Host: www.site.ru\r\n 
Referer: http://www.site.ru/news.html\r\n 
Cookie: income=1\r\n 
Content-Type: multipart/form-data; boundary=1BEF0A57BE110FD467A\r\n
Content-Length: 491\r\n
\r\n
--1BEF0A57BE110FD467A\r\n
Content-Disposition: form-data; name="news_header"\r\n
\r\n
Пример новости\r\n
--1BEF0A57BE110FD467A\r\n
Content-Disposition: form-data; name="news_file"; filename="news.txt"\r\n
Content-Type: application/octet-stream\r\n
Content-Transfer-Encoding: binary\r\n
\r\n
А вот такая новость, которая лежит в файле news.txt\r\n
--1BEF0A57BE110FD467A--\r\n


Мне нужно аналогичное описание для приема (скачивания) файла с сервера. Но нигде не могу найти в интернете.
Хотя, очевидно, что прием файла через POST-запрос возможен, т.к. в Delphi, например, существует функция idHTTP.POST с тремя параметрами, третьим из которых идет имя потока, в который скачивается файл.
Мне для техзадания нужно именно описание ИНТЕРФЕЙСА (синтаксиса) POST-запроса, как в приведенном више примере. Не подскажете ли, как его написать?
...
Рейтинг: 0 / 0
Генерация POST-запроса для скачивания файла
    #38082053
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понятно, проблема в формировании запроса, или в получении файла в ответ на запрос. Если проблема в формировании POST запроса без передачи файла, так в той же статье, только чуть выше расписано.
...
Рейтинг: 0 / 0
Генерация POST-запроса для скачивания файла
    #38082122
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

проблема в формировании POST запроса для ПОЛУЧЕНИЯ файла. Для передачи файла все понятно.
...
Рейтинг: 0 / 0
Генерация POST-запроса для скачивания файла
    #38082129
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad,

предлагаю отследить дебажными инструментами браузера, какой именно запрос отправляется для скачивания.
Скорее всего, банальнейший GET
...
Рейтинг: 0 / 0
Генерация POST-запроса для скачивания файла
    #38082139
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код на Delphi:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
var 
    ASource: TIdMultiPartFormDataStream; // в этот поток помещаем передаваемые параметры
    Fl: TStream; // в этот поток помещается скачанный файл
    HTTP2: TidHTTP; // компонент для работы с протоколом HTTP
begin
    ForceDirectories(ExtractFilePath(local_dir + filename));
    Fl := TFileStream.Create(local_dir + filename, fmCreate);
    try
        ASource := TIdMultiPartFormDataStream.Create;
        ASource.AddFormField('param1', 123);
        try
            HTTP2.POST(‘http://site.ru/api/get_result_file.php’, ASource, Fl);
        except

        end;

        ASource.free;
    finally
        Fl.Free;
    end;
end;
// в результате скачанный файл будет лежать в 'local_dir + filename'.


Мне нужно описать это на уровне протокола.
...
Рейтинг: 0 / 0
Генерация POST-запроса для скачивания файла
    #38082330
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladvkle,

проблема в формировании POST запроса для ПОЛУЧЕНИЯ файла. Для передачи файла все понятно.А в чем проблема то? В общем то, POST очень похож на GET - это передача одного или нескольких полей формы и некоторых служебных полей. POST, в отличии от GET, умеет передавать бинарные данные (файлы). В остальном принципиальных различий нет.

Запросу, в общем то, по барабану, что вернет сервер (если вообще вернет). Разбираться, что делать с возвращенным контентом (сохранить как файл или использовать как то) - занятие, конечно, клиентское. Только вот наступает оно уже после того как с сервера пришли заголовки ответа на ранее переданный запрос.

Таким образом, выражение "POST запрос для ПОЛУЧЕНИЯ файла" само по себе лишено смысла. Ибо получение файла ну никак не привязано конкретно к POST или GET.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Генерация POST-запроса для скачивания файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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