УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

Забирать переменную из web странички возможно?


Автор Сообщение
Сообщение создано: 19. 05. 2010 [11:20]
gsxr
Андрей Ехлаков
Создатель темы
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Добрый день. Есть контроллер icpcon upac7188E. На нем вебинтерфейс. В нем есть страничка
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="2;url=/cgi-bin/cgi_user?Page=cnt.htm">
</head>
0000064443
</html>

Возможно ли штатными методами забрать это число как переменную?
Сообщение создано: 19. 05. 2010 [11:56]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
Можно, если слать http-запросы руками, а затем обрабатывать ответ.
Была мысль добавить поддержку пользовательских запросов в модуле "Protocol.http". Тогда можно будет получать готовый контент страницы, без заморочек с HTTP. Но нужды, пока небыло.

Learn, learn and learn better than work, work and work.
Сообщение создано: 19. 05. 2010 [12:21]
gsxr
Андрей Ехлаков
Создатель темы
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
К сожалению, совсем не понял как это слать запросы руками...
Попытаться бы хоть создать простейший проект. Из демонстрационного проекта на лайвсиди возможно поудалять лишнее?
Или как с нуля сделать пустой запускающийся проект который просто показывает какую-нибудь надпись?
Сообщение создано: 19. 05. 2010 [14:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"gsxr" wrote:

К сожалению, совсем не понял как это слать запросы руками...

http://oscada.org/ru/forum/posts//opros_ustroistv_po_sobytiju/
"gsxr" wrote:

Попытаться бы хоть создать простейший проект. Из демонстрационного проекта на лайвсиди возможно поудалять лишнее?
Или как с нуля сделать пустой запускающийся проект который просто показывает какую-нибудь надпись?

Удаляйте, кто Вас останавливает?
http://wiki.oscada.org/Doc/QuickStart

Learn, learn and learn better than work, work and work.
Сообщение создано: 20. 05. 2010 [06:58]
gsxr
Андрей Ехлаков
Создатель темы
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58

О. Раньше этого не было. Ушел читать - может что-нибудь и получится.
Сообщение создано: 28. 05. 2010 [10:28]
gsxr
Андрей Ехлаков
Создатель темы
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Немного глупый вопрос по UserProtocol:
http://wiki.oscada.org/Doc/UserProtocol?show_files=1#files
Чтобы написать входную и выходную программу, нужно изучить API OpenScada? Или апи вообще на этой уровне не нужно знать, чтобы реализовать то что мне требуется? В частности, тот же парсинг html траницы.
про ту же упоминаемую MessIO функцию где можно почитать?

Похоже пора открывать тему с глупыми вопросами.

В "Транспортные протоколы" (демо конфигурации) добавил в "Пользовательский протокол" myhttptest. Я правильно понимаю что для решения моей описанной в начале топика задачи мне нужно во вкладке "выход" выбрать джава подобный язык и написать программу отправляющую запрос на web сервер для получения http страницы?
А во вкладке вход написать программу которая парсит то что возвращает web сервер?

[Сообщение редактировалось 2 раз(а), в последний раз 28.05.2010 в 12:27.]
Сообщение создано: 28. 05. 2010 [16:46]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"gsxr" wrote:

Немного глупый вопрос по UserProtocol:
http://wiki.oscada.org/Doc/UserProtocol?show_files=1#files
Чтобы написать входную и выходную программу, нужно изучить API OpenScada? Или апи вообще на этой уровне не нужно знать, чтобы реализовать то что мне требуется? В частности, тот же парсинг html траницы.
про ту же упоминаемую MessIO функцию где можно почитать?

Пользовательское API конечно нужно. В описании и прочитать http://wiki.oscada.org/Doc/OpisanieProgrammy?v=gax#h920-1

"gsxr" wrote:

Похоже пора открывать тему с глупыми вопросами.

А отвечать Вам на них кто будет?

"gsxr" wrote:

В "Транспортные протоколы" (демо конфигурации) добавил в "Пользовательский протокол" myhttptest. Я правильно понимаю что для решения моей описанной в начале топика задачи мне нужно во вкладке "выход" выбрать джава подобный язык и написать программу отправляющую запрос на web сервер для получения http страницы?
А во вкладке вход написать программу которая парсит то что возвращает web сервер?

Не правильно. "выход" это прослойка оборачивающая, в вашем случае HTML в HTTP для отправки и получения ответа. Сам протокол ничего не шлёт.
"вход" - для обработки внешних запросов, роль сервера.

Learn, learn and learn better than work, work and work.
Сообщение создано: 29. 05. 2010 [12:42]
gsxr
Андрей Ехлаков
Создатель темы
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
тогда в каком функциональном блоке нужно создавать сеанс работы с web сервером, запрос страницы?
Т.е вкладка вход мне вообще не нужна.
Заворачивать что-то в http это как? Он же текстовый, это как телнетом к вебсерверу подконнектиться и кодами запросить страницу. Или я не прав?

Скажите, а если не связываться с http, а работать по TCP в текстовом построчном режиме это проще?
У меня есть еще программа для icpcona tcp сервер. Я обычно общался с ней при помощи putty в raw режиме. Например отправлял "19r" в ответ приходит число. Почти телнет, только телнет посимвольно отправляет, а тут нужно построчно работать.
Я добавил в исходящие сокеты новый, назвал "tcpserver_test", поправил порт. Не подскажете как через этот сокет теперь отправить текстовую команду(лучше подробнее, в системе пока не понимаю). Все равно нужно использовать UserProtocol? Или есть решение проще?

Мое устройство нужно как контроллер добавлять с "Сбор данных" -> Устройства АСКУ? Или куда добавляются устройства работающие через UserProtocol?

[Сообщение редактировалось 3 раз(а), в последний раз 29.05.2010 в 16:34.]
Сообщение создано: 29. 05. 2010 [21:25]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
"gsxr" wrote:

тогда в каком функциональном блоке нужно создавать сеанс работы с web сервером, запрос страницы?

Не в блоке, а в модуле DAQ.JavaLikeCalc.

"gsxr" wrote:

Заворачивать что-то в http это как? Он же текстовый, это как телнетом к вебсерверу подконнектиться и кодами запросить страницу. Или я не прав?

Контент это HTML, передаётся он через сеть завёрнутым в протокол HTTP, а не просто так.

"gsxr" wrote:

Скажите, а если не связываться с http, а работать по TCP в текстовом построчном режиме это проще?

И Web-сервер это конечно поймёт?!

"gsxr" wrote:

Я добавил в исходящие сокеты новый, назвал "tcpserver_test", поправил порт. Не подскажете как через этот сокет теперь отправить текстовую команду(лучше подробнее, в системе пока не понимаю). Все равно нужно использовать UserProtocol? Или есть решение проще?

На форуме уже об этом говорилось.

Learn, learn and learn better than work, work and work.
Сообщение создано: 10. 06. 2010 [11:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3742
Добавил прямо в модуль протокола эту функцию. http://wiki.oscada.org/Doc/HTTP?v=67o#h90-4

Learn, learn and learn better than work, work and work.



9220