@oleksenn
Техник на производстве

Как считать текст с вэб-интерфейса принтера?

На работе обслуживаю 200-250 принтеров. Для анализа работоспособности каждого из них и своевременного обслуживания необходимо читать с их ВЭБ-интерфейсов различные показатели и далее вписывать в таблицу. Речь не идет о ручном просмотре ВЭБ-интерфейса - принтеров много, инфу хочу снимать раз на полчаса. На принтерах, где интерфейс написан на HTML, делаю это типа так (фрагмент кода):

$out = strip_tags(file_get_contents($address));
$hrefs = explode(" ",$out); //делим нашу строку контента на элементы массива, разделенные ' '
echo '
' . $hrefs[12] . ' / ' .$hrefs[40] . '';

Однако на принтерах Kyocera интерфейс сгенерирован на JS. Вышеописаный фрагмент выдает на них пустые данные. Интересно, что со своего Айфона "быстрыми скриптами" я получаю информацию с этого интерфейса элементарно. Уже несколько дней пытаюсь найти в интернете, на форумах решение этого вопроса, но ничего приемлемого не нашел. Были советы запустить эти скрипты перед читанием текста с вэб-интерфейса, но я, к сожалению, так и не смог этого сделать. Прошу показать решение моего вопроса (может быть готовым скриптом) помня, что я не "крутой" специалист в PHP и JS.
Профиль
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Найдите с помощью консоли разработчика в браузере как именно грузятся данные.
Например, для ECOSYS M2030dn можно увидеть, что счётчики страниц грузятся по ссылкам
http://адрес.принтера/dvcinfo/dvccounter/DvcInfo_Counter_PrnCounter.htm
и
http://адрес.принтера/dvcinfo/dvccounter/DvcInfo_Counter_ScanCounter.htm
В обоих случаях загружается JS, в котором можно найти нужные данные. Например,
counterBlackWhite[0] = 810;
counterBlackWhite[1] = 48865;
Эти числа соответствуют количеству скопированных и отпечатанных страниц.
61cdab8061f80520936211.png
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
Разберитесь с curl. С тем как curl сохраняет куки. До нужных данных возможно придется делать несколько последовательных запросов. Посты,геты.
Все с учётом Кук. Нужные данные могут быть с любым контент тайпом а не только в html. Динамически могут формироваться и J's
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы