EnglishУкраїнськаmRussian
Login/New
Topic with many replies

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


Author Message
Written on: 20. 04. 2011 [14:05]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
Добрый день, в демо примере:
Сокеты -> Выходной транспорт-> testHTTP
Адрес старый - TCP:localhost:10002, проверял доступен, открывает страницу.
Перехожу на вкладку запрос, ввожу запрос : "GET / HTTP/1.0" + два ентера.
нажимаю принять, нажимаю Отправить.
Выдает : "Ресурс временно недоступен" или "время ожидания истекло".
Делаю то же самое в телнете - контент выдается.
В чем проблема?
Written on: 20. 04. 2011 [14:33]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Запрос не корректен. У меня такой запрос к серверу oscada.org работает:

GET / HTTP/1.1\r
Host: oscada.org\r
\r


Да и без \r тоже работает.
Флаг "Ожидать таймаута" сброшен?

Learn, learn and learn better than work, work and work.
Written on: 20. 04. 2011 [14:56]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
"roman" wrote:

Флаг "Ожидать таймаута" сброшен?

В этом собака и зарылась! Спасибо! А в чем проблема, я наоборот его ставил, думал что если сервер не отвечает то попытка отвалится по таймауту. А без галки все мгновенно работает...
Written on: 20. 04. 2011 [17:47]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

А в чем проблема, я наоборот его ставил, думал что если сервер не отвечает то попытка отвалится по таймауту. А без галки все мгновенно работает...

И он должен отрабатывать просто ругаться будет на таймаут, но это нормально. Я тут уже неоднократно писал почему это так. В случае с HTTP, ответом может быть большая страница, которая будет идти несколькими кусками. Без таймаута он получит первый кусок и на этом успокоится, поскольку данный механизм запроса ничего не знает об ожидаемом размере ответа и знать не может. С таймаутом он будет ждать всего пока уже ничего в течении указанного интервала времени не будет.

Learn, learn and learn better than work, work and work.
Written on: 20. 04. 2011 [19:05]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

Выдает : "Ресурс временно недоступен" или "время ожидания истекло".

Какая версия OpenSCADA, кстати? В версии 0.7.1 это сообщение будет только если адрес совсем неправильный, а по таймауту такого сообщения быть не должно.

Learn, learn and learn better than work, work and work.
Written on: 21. 04. 2011 [13:32]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
"roman" wrote:

Какая версия OpenSCADA, кстати? В версии 0.7.1 это сообщение будет только если адрес совсем неправильный, а по таймауту такого сообщения быть не должно.

0.7.1. В процессе попыток выяснить причину вводил разные запросы и многие из них были конечно же неправильными :)
Было бы неплохо описать для других особенности этой вкладки "запрос", а к тому же не программисты не сразу догадаются что \r нужно писать вручную в запросе, а \n скада сама добавляет.
Written on: 21. 04. 2011 [14:28]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

Было бы неплохо описать для других особенности этой вкладки "запрос", а к тому же не программисты не сразу догадаются что \r нужно писать вручную в запросе, а \n скада сама добавляет.

Добавил выбор "Бинарный;Текст(LF);Текст(CR);Текст(CR/LF)".
Добавил подсказку к этой опции и описано тут: http://wiki.oscada.org/Doc/OpisanieProgrammy#h827-4

Learn, learn and learn better than work, work and work.
Written on: 20. 12. 2011 [11:04]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
Существует ли пример использования выходного транспорта testHTTP в Демо станции? В контексте обобщенной в данной теме задачи парсинга веб страницы, содержащей некие переменные в текстовом виде.
Спасибо.
Written on: 20. 12. 2011 [11:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

Существует ли пример использования выходного транспорта testHTTP в Демо станции? В контексте обобщенной в данной теме задачи парсинга веб страницы, содержащей некие переменные в текстовом виде.

Тот который в документации чем не устроил? http://wiki.oscada.org/Doc/HTTP#h90-5
Парсинг HTML это отдельный вопрос. Если это XHTML или XML то можно через объект XMLNodeObj (http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-5), иначе руками или регулярными выражениями.

Learn, learn and learn better than work, work and work.
Written on: 20. 12. 2011 [12:26]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
"roman" wrote:

"gsxr" wrote:

Существует ли пример использования выходного транспорта testHTTP в Демо станции? В контексте обобщенной в данной теме задачи парсинга веб страницы, содержащей некие переменные в текстовом виде.

Тот который в документации чем не устроил? http://wiki.oscada.org/Doc/HTTP#h90-5
Парсинг HTML это отдельный вопрос. Если это XHTML или XML то можно через объект XMLNodeObj (http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-5), иначе руками или регулярными выражениями.


Для непрограммистов недоходчиво...
Нет описания примера создания и использования какого то промежуточного контроллера (предполагаю сбор данных - вычислитель на джава подобном языке). Нет частного примера получения чего-либо, простого выделения и использования.



6905