imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 24.02.2007, 23:32     # 1
Sambotey
Junior Member
 
Регистрация: 18.02.2004
Адрес: Краснодар
Сообщения: 94

Sambotey Нимб уже пробиваетсяSambotey Нимб уже пробивается
HTTP-функции в РНР

Вывод информации PHP-скриптом в файл или в виде HTML-странички - дело распространенное. Мне же необходимо, чтобы РНР-скрипт передал некоторые данные (пусть, для примера, это будет строка) некоему приложению. Приложение написано на Javа, оно по протоколу НТТР передает РНР-скрипту данные, которые обрабатываются этим скриптом и результат отсылается Java-приложению. Передача параметров скрипту - дело не сложное, как и из HTML-формы браузера пользователя. Но вот как передать выходные параметры этому Java-приложению? Оно-то методами InputStream ждет входной поток, а как организовать эту передачу со стороны РНР? Вероятно, необходимо использовать функции с префиксом http_, в частности, http_send_stream, но документация по этим функциям очень скудна.(
Sambotey вне форума  
Старый 25.02.2007, 16:50     # 2
EvroStandart
Full Member
 
Аватар для EvroStandart
 
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623

EvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собойEvroStandart Имеются все основания чтобы гордиться собой
А просто "печатать" ответ как на обычной странице не пробовал? На что вообще этот ответ похож?
EvroStandart вне форума  
Старый 25.02.2007, 17:25     # 3
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
Обычный вывод как для вебстранички с помощью echo например
и поймает ваш Inputstream

ведь я так понял вы методом GET отсылаете параметры..
shuron вне форума  
Старый 25.02.2007, 21:13     # 4
Sambotey
Junior Member
 
Регистрация: 18.02.2004
Адрес: Краснодар
Сообщения: 94

Sambotey Нимб уже пробиваетсяSambotey Нимб уже пробивается
ответ с помощью обычного echo сопровождается кучей заголовков. И все это передается в длинной последовательности символов, среди которых необходимо "выковырять" "полезную нагрузку". Это неудобно...
И среди функций РНР я обнаружил указанные выше функции, которые, как я понял, создают что-то вроде канала между РНР и удаленным приложением (открывается поток). Документации по этим функциям я почти не нашел, а примеров вообще не видел, вот и решил поинтересоваться, не знает ли кто-нибудь подробный механизм организации этого потока со стороны РНР.
Sambotey вне форума  
Старый 26.02.2007, 04:38     # 5
aoxyz_30330
Junior Member
 
Аватар для aoxyz_30330
 
Регистрация: 22.05.2004
Сообщения: 112

aoxyz_30330 Мелкий засранец
Цитата:
ответ с помощью обычного echo сопровождается кучей заголовков.
ну дак протокол такой, хттп ... у него сначало идут заголовки а потом отделённый от них пустой строкой контент, то есть в принципе недолго отпарсить ...

ещё, не совсем понятно, что такое
Цитата:
и результат отсылается Java-приложению
это в смысле ява приложение ждёт вывода пхп-скрипта (если так - я бы склонился к выводу в формате хмл (domxml и иже с ним) ... в яве же всё это есть - парсинг хмл и прочее ... или написал бы на пхп вебсервис (смотри soap), а яву сделал бы его клиентом), или как оно отсылается?

если яваприложение сервер который постоянно ждёт входящих данных, то можно при небольшом знании протокола хттп из пхп подключица через сокеты или курл ... см. расширение curl (ето попроще) или Socket Functions ... можно также старые добрые Network Functions поковырять, в особенности fsockopen() ...

удачи ,)

Последний раз редактировалось aoxyz_30330; 26.02.2007 в 04:40.
aoxyz_30330 вне форума  
Старый 26.02.2007, 15:46     # 6
shuron
Full Member
 
Аватар для shuron
 
Регистрация: 16.09.2003
Сообщения: 793

shuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царствеshuron Луч света в тёмном царстве
ну извините может есче ObjectStream получить хотите из ПХП?
HTTP Headers не убрать насколько я знаю..
но можете их хоть подправить с помошью header() как вам надо.. http://de3.php.net/manual/ru/function.header.php
shuron вне форума  
Старый 26.02.2007, 20:17     # 7
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Sambotey,
Если работать с HTTP протоколом - заголовки там должны быть :-) иначе это уже не тот протокол будет...
Насколько я знаю, для Java есть достаточно много библиотек для работы с этим протоколом (достаточно использовать их, и проблема решится).
В этом случае, если переменные не сложные (скаляры) - их значения можно помещать прямо в заголовок (что-то вроде X-My-Variable: some-vvalue)
Если же нет желания использовать библиотеки - нужно менять протокол общения (на простое соединение по сокету, xml-rpc, soap). Что опять-таки повлечет использование дополнительных библиотек
__________________
Nunc est bibendum
is_absent вне форума  
Старый 26.02.2007, 20:46     # 8
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Посмотрите в сторону XML-RPC, если SOAP много для Ваших задач. А XML-RPC прост, имеет кучу примеров, фронтенды как клиентов так и серверов имеются и для PHP и для Java на оффсайте и бесплатны.

добавлено через 4 минуты
Упс, не успел, упомянули раньше его, пока я писал.

Но:
Цитата:
Сообщение от is_absent Посмотреть сообщение
Если же нет желания использовать библиотеки - нужно менять протокол общения (на простое соединение по сокету, xml-rpc, soap).
имел ввиду XML-RPC прежде всего поверх HTTP, чтобы быстро и просто, а не придумывать своих бинарных протоколов...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:09.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.