Esta consulta es de hace 3 años. Tenga eso en cuenta.
hlopez_04fd16
hlopez_04fd16
Colombia

Plugin: facturacion_base Estoy intentando imprimir en el...

Plugin: facturacion_base
Estoy intentando imprimir en el TPV desde linux y ejecuto el script por consola:

python remote-printer.py

pero no lo logro, hay que modificarle algo al script?
Muchas gracias por sus orientaciones
19-11-2017 01:27:12   20-11-2017 21:20:49   52  
Mon Nov 20 11:43:31 2017 Server Starts - localhost:10080
127.0.0.1 - - [20/Nov/2017 11:43:36] "GET /?terminal=4 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 41712)
Traceback (most recent call last):
File "/usr/lib64/python2.7/SocketServer.py", line 290, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib64/python2.7/SocketServer.py", line 318, in process_request
self.finish_request(request, client_address)
File "/usr/lib64/python2.7/SocketServer.py", line 331, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python2.7/SocketServer.py", line 652, in __init__
self.handle()
File "/usr/lib64/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib64/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "remote-printer.py", line 29, in do_GET
response = urllib2.urlopen(api_url+'?v=2&f=remote_printer'+extra_url)
File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib64/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python2.7/urllib2.py", line 467, in error
result = self._call_chain(*args)
File "/usr/lib64/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 654, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/lib64/python2.7/urllib2.py", line 429, in open
response = self._open(req, data)
File "/usr/lib64/python2.7/urllib2.py", line 447, in _open
'_open', req)
File "/usr/lib64/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 1241, in https_open
context=self._context)
File "/usr/lib64/python2.7/urllib2.py", line 1198, in do_open
raise URLError(err)
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)>
----------------------------------------
Eso me sale ejecutando el script python2, ahora ejecutando el python3 me sale lo mismo multiplicado por 2
127.0.0.1 - - [20/Nov/2017 11:50:30] "GET /?terminal=4 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 41768)
Traceback (most recent call last):
File "/usr/lib64/python3.6/urllib/request.py", line 1318, in do_open
encode_chunked=req.has_header('Transfer-encoding'))
File "/usr/lib64/python3.6/http/client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1026, in _send_output
self.send(msg)
File "/usr/lib64/python3.6/http/client.py", line 964, in send
self.connect()
File "/usr/lib64/python3.6/http/client.py", line 1400, in connect
server_hostname=server_hostname)
File "/usr/lib64/python3.6/ssl.py", line 407, in wrap_socket
_context=self, _session=session)
File "/usr/lib64/python3.6/ssl.py", line 814, in __init__
self.do_handshake()
File "/usr/lib64/python3.6/ssl.py", line 1068, in do_handshake
self._sslobj.do_handshake()
File "/usr/lib64/python3.6/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib64/python3.6/socketserver.py", line 317, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib64/python3.6/socketserver.py", line 348, in process_request
self.finish_request(request, client_address)
File "/usr/lib64/python3.6/socketserver.py", line 361, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib64/python3.6/socketserver.py", line 696, in __init__
self.handle()
File "/usr/lib64/python3.6/http/server.py", line 418, in handle
self.handle_one_request()
File "/usr/lib64/python3.6/http/server.py", line 406, in handle_one_request
method()
File "remote-printer3.py", line 30, in do_GET
response = urlopen(api_url+'?v=2&f=remote_printer'+extra_url)
File "/usr/lib64/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/usr/lib64/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python3.6/urllib/request.py", line 564, in error
result = self._call_chain(*args)
File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib64/python3.6/urllib/request.py", line 756, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/lib64/python3.6/urllib/request.py", line 526, in open
response = self._open(req, data)
File "/usr/lib64/python3.6/urllib/request.py", line 544, in _open
'_open', req)
File "/usr/lib64/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/lib64/python3.6/urllib/request.py", line 1361, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/usr/lib64/python3.6/urllib/request.py", line 1320, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>
Revisando el código del script veo que el genera un archivo ticket.txt en que ruta escribe ese archivo?, porque en la ruta del script no me lo genera
SSL: CERTIFICATE_VERIFY_FAILED

Al poner la API escribe la url con http:// en lugar de https:// o bien actualiza tu hosting, ya que rechaza la conexión por problemas con el ssl.
Ya hice lo de quitar el https y tampoco funcionó, no tengo hosting es mi propio servidor web con certificado LetsEncrypt y el certificado si es valido no tiene errores. Por otro lado si realizo esta misma prueba desde Windows si me funciona, dónde escribe el archivo ticket.txt?
Si ya has probado sin https, imagino que los errores que salen son distintos. En el caso de que sea el mismo error ... no has quitado https.
Puedes ver la configuración que estás usando en el archivo config.txt, situado donde ejecutes el script. Del mismo modo, el archivo ticket.txt se creará en la misma carpeta.
Salen los mismos errores supongo que se debe a que todo petición por el puerto 80 la obligo a pasar por el 443, si ya había visto mi configuración en ese archivo y no me crea el ticket ni quitando la opción en el script de que no lo borre ni viendo archivos ocultos. Estoy tratando de montar una prueba en mi computador local, en cuanto la tenga lista escribo mi retroalimentación
Efectivamente como decías Carlos es algo en el certificado, localmente logro imprimir sin problemas. Entonces pregunto, desde linux o mac alguien la tiene imprimiendo con remote-printer y que el servidor tenga certificado SSL o si alguien sabe a partir del error publicado anteriormente como darme algún tipo de orientación estaría muy agradecido
[[Incompleto y cerrado por inactividad]]


Copyright (c) 2013-2020 FacturaScripts