powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / POST: как это вообще сделать?
22 сообщений из 22, страница 1 из 1
POST: как это вообще сделать?
    #35677827
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Не знаю, смогу ли сформулировать вопрос, но может поймёте.
Есть некий сервис, с которым приложения общаются посредством запросов с использованием POST (есть исходник с вызовами WinAPI - InternetConnect(...), HttpOpenRequest(...), HttpSendRequest(...), и наконец InternetReadFile(...) ).
У меня вопрос - а можно ли сделать простую формочку в HTML/javascript типа что-нибудь
<form method="POST" enctype="multipart/form-data" action="http://localhost:9876/param1">
<input type="file" name="F1" size="20">
<input type="submit" value="Отправить" name="B1">
</form>
чтобы просто протестировать сервис - работает или нет, и что он возвращает?
Т.е. я должен как-то передать ему содержимое файла методом POST, указав, что для обработки должна вызываться его процедура param1, а полученный ответ записать (хорошо бы) в файл (ну или хотя бы в ClipBoard что ли...). Причём ответ этот совсем не текстовый.

Я вот не пойму саму идеологию - где вообще будет после запроса содержимое, то которое содержится в Buffer после вот этого WinAPI вызова:
InternetReadFile(hRequest,&Buffer[0],MySize,BuffLen); ?
И как его оттуда вытащить? Возможно ли вообще такое этими средствами?
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677854
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я слегка нек понял...
Вернее я правльно вас понял? Есть какаято программа на сервере. Вы методом POST отсылаете ей файл. И не знаете как считать содержимое этого файла? И еще как вывести обработаные результат?
Назовите чтоли хотябы для начала на чем програмируете?
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677861
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа написана на C.
Я не знаю, как в HTML - форме прочитать ответ от сервиса, который вернётся в ответ на тот файл, который я пошлю ему.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677877
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понимаю, что обращение к этому сервису (отправка формы) будет происходить из обычного веб-браузера по протоколу http:// ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677881
mrJust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новичок_01 Есть некий сервис, с которым приложения общаются посредством запросов с использованием POST
Если есть сервис, возможно у вас есть какая-то дока к нему, либо аналогичный пример, где можно посмотреть содержимое http заголовков, которые уходят к сервису.
В html заголовки предопределены и вы сможете отправить стандартный запрос post или get . Если Ваш сервис принимает данные с определенными заголовками, следует посмотреть в сторону CURL (на php) - она позволит вам задать произвольный заголовок и отправить его.
В любом случае, абсолютно не ясно что вы хотите сделать, отправить текст или фаил сервису.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677885
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае (метод пост) читайте в своей программе из stdin, а отвечайте таким образом, чтобы выхлоп был в stdout (читать-писать по-простому). Начинаться выхлоп должен с:
Content-type:text/html\r\n\r\n хелловорлд!
Пс штука с контенттайпом и двумя переводами с возвратами - обязательна (требования протокола).
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677888
mrJust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новичок_01Я не знаю, как в HTML - форме прочитать ответ от сервиса, который вернётся в ответ на тот файл, который я пошлю ему.
Ответ от сервиса прочтет браузер, а не форма.

Как создать форму тынц и тынц
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677890
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mrJustНовичок_01 Есть некий сервис, с которым приложения общаются посредством запросов с использованием POST
Если есть сервис, возможно у вас есть какая-то дока к нему, либо аналогичный пример, где можно посмотреть содержимое http заголовков, которые уходят к сервису.
В html заголовки предопределены и вы сможете отправить стандартный запрос post или get . Если Ваш сервис принимает данные с определенными заголовками, следует посмотреть в сторону CURL (на php) - она позволит вам задать произвольный заголовок и отправить его.
В любом случае, абсолютно не ясно что вы хотите сделать, отправить текст или фаил сервису.

Сервису я хочу отправить файл (не текстовый). И получить от него ответ (тоже не текстовый).
Программно для меня это не составляет труда (хоть на C, хоть на Delphi...). Но я хочу понять - а можно ли такое же сделать средствами обыкновенной формы HTML? Ведь отправка файла методом POST в ней реализована. (ну а нельзя - так нельзя...). Т.е. вопрос больше познавательный и теоретический.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677901
mrJust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новичок_01
Код: plaintext
1.
2.
3.
<form method="POST" enctype="multipart/form-data" action="http://localhost:9876/param1">
<input type="file" name="F1" size="20">
<input type="submit" value="Отправить" name="B1">
</form>

Выберите фаил в форме и отправляйте. Сервис получит http запрос, в котором будет поле F1 . Если не доходит, попробуйте фаил поменьше отправлять, может там (на сервисе) лимит на размер.
В любом случае, не важно кто отправляет заголовок, главное какой он.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677910
mrJust
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Новичок_01 Сервису я хочу отправить файл (не текстовый). И получить от него ответ (тоже не текстовый).
что-то я.. проглядел сначала...

Ответ вы в любом случае получите текстовый. Опять же, в зависимости от заголовков ответа, который программа-получатель (например браузер) получит, будут отображаться данные из ответа.

короче..
запрос=заголовок+данные
ответ=заголовок+данные
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677921
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mrJustНовичок_01
Код: plaintext
1.
2.
3.
<form method="POST" enctype="multipart/form-data" action="http://localhost:9876/param1">
<input type="file" name="F1" size="20">
<input type="submit" value="Отправить" name="B1">
</form>

Выберите фаил в форме и отправляйте. Сервис получит http запрос, в котором будет поле F1 .

Ну что туда он дойдёт - это понятно. Как мне использовать то, что придёт в ответ оттуда?
Если я в своей программе на C или Delphi делаю вызов
InternetReadFile(hRequest,&Buffer[0],MySize,BuffLen);
то ответ будет содержаться в Buffer и иметь известную мне длину. Беру и пишу его хоть в файл, хоть ещё как обрабатываю.

А где мне брать этот ответ в случае использования формы - вот я что пытаюсь понять?
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677930
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новичок_01,

Внимательно посты читай. Из стандартного ввода.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677946
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл работы пары браузер-сервер прост.
Браузер отсылает серверу запрос, состоящий из заголовков и данных. На сервере данные попадают на стандартный ввод (stdin) программы-обработчика (CGI). На чём будет написана эта программа - в принципе без разницы (однажды на shell что то наваял). Главное, чтоб CGI мог прочитать stdin.
В обратную сторону, от сервера к клиенту должен пойти вполне осмысленный ответ. По крайней мере, минимальные требования протокола необходимо соблюсти. ShSerge уже написал про обязательную строку, которую должен отдать обработчик CGI в stdout. Это единственная обязательная строка, так называемый "заголовок". Далее обязательно должна быть пустая строка (вот окуда взялись два перевода), чтоб отделить данные от заголовка. Эти данные веб-браузер будет выдавать на экран как текст (потому что указано text/html). Аналогичным образом можно передать клиенту и картинку, и бинарный файл. Поэтому, если в ответе сервера будет содержаться не_текст, то следует изменить заголовок соответствующим образом.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35677972
Фотография Frenzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, можете.
клацните на форме сабмит - вернется ответ.
дальнейшие действия браузера зависят от возвращаемого миме-типа но в любом случае вы сможете сохранить это в файл - либо из появившегося окошка "че с этим делать" либо с пом. Файл-Сохранить как.
да и вобще - возьмите просто попробуйте - разве проблема?

уточню работать будет только в случае если ваш веб-сервис общается "нормальным" хттп. если для его работы требуются специфические хедеры и т.п. то из браузера просто так вы не сможете это сэмулировать. хотя опять же есть к фаерфоксу плагины типа LiveHTTPHeaders - которые позволяют сформировать/подправить запрос и получить ответ. только дальше уже возникает вопрос а надо ли оно вам и не лучше ли использовать какойнить скриптовый язык например Python

_______________________________________
2pro4U
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678128
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Frenzyда, можете.
клацните на форме сабмит - вернется ответ.
дальнейшие действия браузера зависят от возвращаемого миме-типа но в любом случае вы сможете сохранить это в файл - либо из появившегося окошка "че с этим делать" либо с пом. Файл-Сохранить как.
да и вобще - возьмите просто попробуйте - разве проблема?

_______________________________________
2pro4U

Какие закорючки мне нужно написать в своей HTML - форме, чтобы мне выдалось вот это "чё с этим делать"? Я-то пробую, но мне не возвращается ничего. Файл туда уходит (по крайней мере суда по времени операции и по полоске внизу), а дальше пустой экран. Т.е. может браузер что-то и получает, но я как пользователь этого не вижу.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678359
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiveHTTPHeaders ничего не показывает в ответе сервера?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678394
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle
LiveHTTPHeaders ничего не показывает в ответе сервера?


Я не знаю, что такое LiveHTTPHeaders. Но я вот сейчас быстренько набросал клиентскую прогу на Delphi с применением компонента TNMHTTP, так вот его свойство Header после вызова Post() содержит такой текст:

HTTP/1.1 200 OK
Connection: close
Content-Type: text/html
Content-Length: 3951
Server: Indy/9.0.50

А в файл (который я указываю в свойстве Body) преспокойно попадает ответ (ZIP - архив длиной 3951 байт). Т.е. сервис как таковой работает. Только почему HTML - форма не работает? Может я посылаю не содержимое файла а его имя?
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678424
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Я не знаю, что такое LiveHTTPHeaders.

Зато яндекс знает http://yandex.ru/yandsearch?text=LiveHTTPHeaders


> Только почему HTML - форма не работает?

Судя по тому что от сервера приходит какой то ответ, на сервер что то отправляется из формы. Что именно - смотрите вышеуказанным плагином.


> Может я посылаю не содержимое файла а его имя?

Тут уж вам видней, что именно отсылаете )))) Код формы в студию!
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678458
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гммм... С чего это вдруг в ответе ZIP, когда сервер сказал что там текст?

> Content-Type: text/html

Ежли сервер возвращает zip-архив, то обязан прикрутить другой заголовок. А уж браузер в этом случае должон предложить выбор: сохранить на диск или открыть чем нибудь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678539
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так-так...

Т.е. браузер пытается это интерпретировать как текст/html, натыкается на вот эти HEX - коды
50 4B 03 04 14 00 00 00 и видимо на первом нуле его и клинит?

Ну хорошо - а какой заголовок должен был бы прикрутить сервер, чтобы в броузере был диалог "Что с этим делать" ?
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678549
Новичок_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle
Тут уж вам видней, что именно отсылаете )))) Код формы в студию!


Код формы в самом первом вопросе.
...
Рейтинг: 0 / 0
POST: как это вообще сделать?
    #35678594
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> какой заголовок должен был бы прикрутить сервер

Сложно погуглить по фразе "content-type zip"? ;-)

В самом первом вопросе сказано "простую формочку в HTML/javascript типа что-нибудь". Не знаю, кто как, но в "типа что-нибудь" я не смог углядеть смысла "отсылаю данные этой формой". Код правильный.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / POST: как это вообще сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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