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

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

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

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

Однако на принтерах Kyocera интерфейс сгенерирован на JS. Вышеописаный фрагмент выдает на них пустые данные. Интересно, что со своего Айфона "быстрыми скриптами" я получаю информацию с этого интерфейса элементарно. Уже несколько дней пытаюсь найти в интернете, на форумах решение этого вопроса, но ничего приемлемого не нашел. Были советы запустить эти скрипты перед читанием текста с вэб-интерфейса, но я, к сожалению, так и не смог этого сделать. Прошу показать решение моего вопроса (может быть готовым скриптом) помня, что я не "крутой" специалист в PHP и JS.
Профиль
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽