Форум » » Можно обойтись без Telnet'a? Чистый http api, GET, POST? » Ответить

Можно обойтись без Telnet'a? Чистый http api, GET, POST?

dougthehead: Подскажите коллеги, а куда копать, чтобы подружить crestron с оборудованием, не поддерживающим telnet? Надо: 1) Отправить крестрону GET или POST запрос формата http://[ip_address_of_crestron]:[port]/?[some_key1]=[some_value1]&[some_key2]=[some_value2] 2) Получить от него осознанное действие. Например, включить свет. Прошу подсказать, возможен ли такой функционал и где почитать. Спасибо.

Ответов - 41, стр: 1 2 3 All

Игорь K.: Такой вариант связи возможен. Из проткола HTTP для передачи команды нужно испольтзовать GET. Именно так прекрасно управляются плееры DUNE, XMBC, AppleTV, видеокамеры и другие устройства BOSCH NG тд. Внешне это выглядит так, как буд-то Crestron отправляет запрос вместо браузера, обратно идет XML или HTML код, который можно разобрать.

dougthehead: Нет, мне надо в обратную сторону. Крестрону отправить GET и вызвать заложенный алгоритм действий.

Игорь K.: Нет проблем, Сrestron поймет любой запрос по UDP/TCP IP, в чистом виде, без GET И вообще ничего из HTTP не нужно.


dougthehead: Вот как раз только HTTP и нужно. Возможности отправлять RAW TCP/IP нет.

Игорь K.: Отправляйте, анализируйте и запускайте внутренние алгоритмы. Нет проблем. Процессор Crestron это не Web-сервер, смотрите на него как на узел в сети с портом 80, как в вашем случае. Из строки поиска браузера команды отправлять собираетесь?

dougthehead: Игорь K. пишет: Из строки поиска браузера команды отправлять собираетесь? Нет, ajax. Спасибо за ответы. Так где почитать можно про http api Crestron'a? Все, что я нашел - это как с помощью Крестрона управлять чем-то. Наоборот - только telnet. HTTP API это секретная документация?

gosha: Нет,HTTP API, как такового, нет. Если сильно надо - сделайте сами под конкретную вашу задачу. Только это, во-первых, адова работа, особенно для второй серии процессоров, во-вторых, не очень понятны источник происхождения такого вопроса и конечная цель...

dougthehead: Источник происхождения вопроса - надо связать Crestron и специальный аппаратный сервер. Сервер имеет HTTP API, но Telnet'ом работать не может (закрыт). Crestron, как мы сейчас выяснили, не имеет HTTP API. Тогда вопрос снимается. Не имеет так не имеет. Будем работать через RS-232. Оно есть у обоих. Спасибо.

p.vladi: Так если есть RS232, почему вообще осбуждались костыли???

Игорь K.: p.vladi, разведка, а может просто Маркет ресерч.

Igor: dougthehead пишет: Странно, что Крестрон такие очевидные вещи не поддерживает. Да, Crestron вообще отстой. Так и написано в пресс-релизе Хвайчонг Дзайбинь Хоум Контроль Ко.

gosha: Так у вас еще и непонимание разницы между клиентом и сервером. Вам на Крестроне нужен клиент. Что несколько снижает температуру ада...

yanovik: Чтобы не плодить темы, имеется рекордер Epiphan. Не могу сформулировать команду старт записи, подозреваю что дело в синтаксисе команды. Инструкция гласит 3. To start recording: wget --http-user=admin --http-passwd=pass123 http://192.30.23.45/admin/set_params.cgi?rec_enabled=on Я же посылаю в TX TCP\IP сокета на порт 80 команду вида GET /admin/set_params.cgi?http-user=admin&http-passwd=1234&rec_enabled=on HTTP/1.0\nHost: 192.168.0.4\n\n Но рекордер все равно ругается на авторизацию. Как изменить команду?

marin_n: А если использовать authorization:basic ? Помнится, я использовала это для спутникового ресивера dreambox.

yanovik: Отвечу сам на свой вопрос GET /admin/set_params.cgi?rec_enabled=on HTTP/1.0\nHost: 192.168.0.4\nAuthorization: Basic YWRtaW46MTIzNA==\n\n GET /admin/set_params.cgi?rec_enabled="" HTTP/1.0\nHost: 192.168.0.4\nAuthorization: Basic YWRtaW46MTIzNA==\n\n Авторизация для admin:1234. Почему-то Epiphan предлагает примеры HTTP запросов для WGET. Установил wget и послал рекомендованный запрос, посмотрел wireshark'ом какой запрос GET формируется. Собственно сам запрос больше, но я выкинул из него лишнее типа User agent и тд

Владимир: Друзья помогите. на cp2e есть реле которое замыкает провод на 2 секунды, так вот требуется активировать это реле через get или telnet. не подскажете как это сделать?

yanovik: Подскажите, пытаюсь послать POST, дебаггер ругается "CANNOT TRANSMIT PACKET [blablabla] Packet is too large" надо как-то разбить его? ------ Отправлять по частям. После \n\n будет ответ.

aes: dougthehead пишет: dougthehead пишет: Спасибо за ответы. Так где почитать можно про http api Crestron'a? Все, что я нашел - это как с помощью Крестрона управлять чем-то. Наоборот - только telnet. HTTP API это секретная документация? Протокол HTTP описан в стандартах RFC и находится в свободном доступе. Реализовать примитивный сервер, который примет запрос GET, дело максимум часа работы. В простейшем случае реализация GET-запроса - это открытие TCP-сервера, прием пары строк текста до первой пустой строки, отправка пары строк текста в ответ, закрытие сервера, открытие сервера и все заново. В случае POST чуть сложнее, но тем не менее все равно примитивно. P.S. Для меня тоже странно, что в библиотеке нет готового модуля : )

AndreySh: Добрый день, коллеги, а можно, более подробно про команды POST? Задача: Управление Сервером Cisco MCU с CP3. MCU понимает команды xml-RPC, т.е. нужно посылать команды POST HTTP на http:ipaddr/RPC2. Если я правильно понимаю, то в первую очередь создаем клиент TCP\IP по 80 порту, Далее посылаем текстовые команды, ...только вот в каком формате так и не разобрался. Исходник команды выглядит примерно так: POST /RPC2 HTTP/1.1 <methodCall> <methodName>conference.status</methodName> <params> <param> <value> <struct> <member> <name>authenticationUser</name> <value> <string>admin</string> </value> </member> <member> <name>authenticationPassword</name> <value> <string>password</string> </value> </member> <member> <name>conferenceName</name> <value> <string>9555</string> </value> </member> </struct> </value> </param> </params> </methodCall> НО что бы не посылал, ответ один: 201 operation failed. пробовал тот же код через тестовые программы напрямую кидать - все получается, а через крестрон - никак. подскажите, пожалуйста, куда копать?

gosha: Тыц



полная версия страницы