Отправить текст в порт с помощью Javascript - PullRequest
3 голосов
/ 22 января 2009

Недавно я получил новый принтер (в частности, HP Photosmart C6380, если это помогает), который позволяет мне отправлять текст на порт 9100 для печати. Telnetting в него и ввод текста для печати работает нормально, но мне интересно, смогу ли я создать веб-страницу, используя HTML и Javascript, которые могут отправлять текст непосредственно на него.

В настоящее время я использую код из статьи Межсайтовая печать (pdf), , но недостатком является то, что при распечатке он показывает весь запрос POST, а не только текст.

Итак, мой вопрос к вам: могу ли я отправить только содержимое запроса POST или удалить ненужные символы, используя только HTML и Javascript?

Примечание. Причина, по которой он ограничивается HTML и Javascript, заключается в том, что я надеюсь, что смогу использовать его на iPhone или iPod Touch.

Редактировать : Похоже, что нет способа избавиться от заголовков HTTP, поэтому теперь мой вопрос заключается в том, могу ли я создать собственный запрос POST, который минимизирует количество отправляемых в заголовке? Например, я не могу отправить пользовательский агент, поскольку принтеру все равно, что это за пользовательский агент?

Ответы [ 2 ]

4 голосов
/ 22 января 2009

Нет, в клиентском JavaScript нет способа избавиться от заголовков HTTP. Для этого вам нужно настроить скрипт на стороне сервера, который затем установит фактическое соединение с портом принтера.

Редактировать: Серверный скрипт не отправляет HTTP-запрос на ваш принтер: он должен открыть новый сокет и, таким образом, полностью контролировать то, что отправляется!

2 голосов
/ 22 января 2009

Вы можете HTTP-запрос изнутри JS, поэтому у вас всегда есть HTTP-заголовок, независимо от порта, на который вы отправляете. Итак, ответ: нет.

...