@ echan00,
Я думаю, что причина в том, что принтер находится в той же сети, в которой вы работаете. Основная проблема здесь - это IP-адреса. Большинство локальных сетей имеют IP-адрес, начиная с 192.168.XXX.XXX, поэтому ваш принтер, который находится в сети, также содержит IP-адрес в том же диапазоне.
Давайте предположим, что: Принтер => 192.168.1.100 и развитие машины => 192.168.1.45
Так как эти машины находятся на одной и той же сети, что они могут взаимодействовать друг с другом. Как только вы размещаете свой сайт у поставщика, IP-адрес веб-сайта больше не будет таким же, как IP-адрес вашего устройства. Предположим, он получает новый IP-адрес 10.1.57.221.
Итак, теперь на вашем веб-сайте размещен IP-адрес за пределами вашей локальной сети, и принтер по-прежнему находится в локальной сети. Если вы можете заметить ответ, полученный при получении запроса на печать http://192.168.1.100/StarWebPRNT/SendMessage
с размещенного веб-сайта, существует очень высокая вероятность того, что вы закончите поражение 404 или время ожидания соединения, а не 200 запросов успеха.
Один из способов устранить эту проблему - разместить веб-сайт на сервере в локальной сети, но предоставить этому компьютеру общедоступный IP-адрес, чтобы другие могли получить доступ к веб-сайту из-за пределов сети. Когда запрос сделан для печати, он может определенно найти принтер в этом случае.
Другой способ - продолжать хостинг с хостинг-провайдером, но назначить публичный IP-адрес принтеру, чтобы любой, кто знает IP-адрес, мог выдавать запрос печати на принтер. Таким образом, ваш веб-сайт сможет запросить принтер для печати.
На вашем веб-сайте нет доступа к любому принтеру, это ОС, которая выполняет печать из браузера? – adeneo
@adeneo Я делаю веб-запрос для печати на моем принтере. Это не печать из ОС, да, это не нормально, принтер квитанции, который я предоставляю этой технологии, позволяет печатать веб-запрос. – echan00
Если ваш веб-сайт также не размещен с 'http: // 192.168.1.100 /', запрос не будет передан [политика одинакового происхождения] (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) (локальные сети не изменяют результат SOP) и должны будут удовлетворять [одному из нескольких исключений] (https://stackoverflow.com/questions/3076414/ways-to -circumvent-the-same-origin-policy), или сделать серверную сторону, где SOP не применяется. Обратите внимание, что менее двух вариантов, CORS и JSON-P, веб-сервер принтера должен будет предлагать поддержку явно для использования. –