![]() |
HTTP-функции в РНР
Вывод информации PHP-скриптом в файл или в виде HTML-странички - дело распространенное. Мне же необходимо, чтобы РНР-скрипт передал некоторые данные (пусть, для примера, это будет строка) некоему приложению. Приложение написано на Javа, оно по протоколу НТТР передает РНР-скрипту данные, которые обрабатываются этим скриптом и результат отсылается Java-приложению. Передача параметров скрипту - дело не сложное, как и из HTML-формы браузера пользователя. Но вот как передать выходные параметры этому Java-приложению? Оно-то методами InputStream ждет входной поток, а как организовать эту передачу со стороны РНР? Вероятно, необходимо использовать функции с префиксом http_, в частности, http_send_stream, но документация по этим функциям очень скудна.(
|
А просто "печатать" ответ как на обычной странице не пробовал? На что вообще этот ответ похож?
|
Обычный вывод как для вебстранички с помощью echo например
и поймает ваш Inputstream ведь я так понял вы методом GET отсылаете параметры.. |
ответ с помощью обычного echo сопровождается кучей заголовков. И все это передается в длинной последовательности символов, среди которых необходимо "выковырять" "полезную нагрузку". Это неудобно...
И среди функций РНР я обнаружил указанные выше функции, которые, как я понял, создают что-то вроде канала между РНР и удаленным приложением (открывается поток). Документации по этим функциям я почти не нашел, а примеров вообще не видел, вот и решил поинтересоваться, не знает ли кто-нибудь подробный механизм организации этого потока со стороны РНР. |
Цитата:
ещё, не совсем понятно, что такое Цитата:
если яваприложение сервер который постоянно ждёт входящих данных, то можно при небольшом знании протокола хттп из пхп подключица через сокеты или курл ... см. расширение curl (ето попроще) или Socket Functions ... можно также старые добрые Network Functions поковырять, в особенности fsockopen() ... удачи ,) |
ну извините может есче ObjectStream получить хотите из ПХП? ;)
HTTP Headers не убрать насколько я знаю.. но можете их хоть подправить с помошью header() как вам надо.. http://de3.php.net/manual/ru/function.header.php |
Sambotey,
Если работать с HTTP протоколом - заголовки там должны быть :-) иначе это уже не тот протокол будет... Насколько я знаю, для Java есть достаточно много библиотек для работы с этим протоколом (достаточно использовать их, и проблема решится). В этом случае, если переменные не сложные (скаляры) - их значения можно помещать прямо в заголовок (что-то вроде X-My-Variable: some-vvalue) Если же нет желания использовать библиотеки - нужно менять протокол общения (на простое соединение по сокету, xml-rpc, soap). Что опять-таки повлечет использование дополнительных библиотек :) |
Посмотрите в сторону XML-RPC, если SOAP много для Ваших задач. А XML-RPC прост, имеет кучу примеров, фронтенды как клиентов так и серверов имеются и для PHP и для Java на оффсайте и бесплатны.
добавлено через 4 минуты Упс, не успел, упомянули раньше его, пока я писал. Но: Цитата:
|
| Часовой пояс GMT +4, время: 14:09. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.