Українська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
Повідомлення: 3750
Можно, если слать 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
Повідомлення: 3750
"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
Повідомлення: 3750
"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
Повідомлення: 3750
"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
Повідомлення: 3750
Добавил прямо в модуль протокола эту функцию. http://wiki.oscada.org/Doc/HTTP?v=67o#h90-4

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



2547