Haga preguntas sobre cómo capturar o convertir páginas web o HTML into imágenes, documentos CSV, PDF o DOCX también sobre cómo convertir videos into GIF animados usando nuestra API.
error:
Rastreo (llamadas recientes más última):
Archivo "GrabzItClient.py", línea 6, en
agarrarlo.SaveTo("documentos/resultado.docx")
Archivo "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", línea 235, en SaveTo
identificación = yo.Save()
Archivo "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", línea 209, en Save
obj = self._take(sig, callBackURL)
Archivo "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", línea 223, en _take
devolver self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
Archivo "C:\Program Files\Python36\lib\site-packages\GrabzIt\GrabzItClient.py", línea 629, en HTTPPost
h.endheaders()
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 1234, en encabezados finales
self._send_output(cuerpo_mensaje, codificar_chunked=codificar_chunked)
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 1026, en _send_output
autoenvío (mensaje)
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 964, en envío
auto.conectar()
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 936, en conexión
(self.host,self.port), self.timeout, self.source_address)
Archivo "C:\Program Files\Python36\lib\socket.py", línea 704, en create_connection
para res en getaddrinfo(host, puerto, 0, SOCK_STREAM):
Archivo "C:\Program Files\Python36\lib\socket.py", línea 743, en getaddrinfo
para res en _socket.getaddrinfo (host, puerto, familia, tipo, proto, banderas):
socket.gaierror: [Errno 11001] getaddrinfo falló
fuente: (Instalé GrabzIt y obtuve la CLAVE DE APLICACIÓN y el SECRETO DE APLICACIÓN)
desde GrabzIt importar GrabzItClient
grabzIt = GrabzItClient.GrabzItClient (CLAVE DE APLICACIÓN, SECRETO DE APLICACIÓN)
agarrarlo.HTMLToDOCX(" ¡Hola Mundo! ")
agarrarlo.SaveTo("documentos/resultado.docx")
¿podrías decirme qué debo hacer?
Bienvenido a la comunidad!
Por lo general un socket.gaierror: [Errno 11001] getaddrinfo falló Se produce cuando el código se llama desde detrás de un firewall o proxy. Asegúrese de que la aplicación tenga acceso al puerto 80.
Gracias por la respuesta.
Sí, es el problema del proxy. Funciona bien cuando cambio la otra PC que no tiene proxy.
¿Cómo puede funcionar con proxy?
Esta será una nueva característica. Estamos buscando si podemos modificar el cliente Python para permitir el uso de servidores proxy.
Si es posible, nos comunicaremos con usted con una solución. Puede intentarlo usted mismo si lo desea, ya que todos nuestros clientes son de código abierto: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Hemos agregado la nueva característica. Simplemente descargue el archivo GrabzItClient.py y reemplace su copia desde aquí: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Luego puede configurar la URL del proxy de su servidor proxy utilizando el nuevo método SetLocalProxy, por ejemplo:
grabzIt.SetLocalProxy("http://123.123.123.123:21231")
¡Cuéntanos cómo te va y pronto haremos un nuevo lanzamiento!
Gracias por la respuesta.
Reemplacé GrabzItClient.py y cambié mi fuente:
grabzIt = GrabzItClient.GrabzItClient (CLAVE DE APLICACIÓN, SECRETO DE APLICACIÓN)
grabzIt.SetLocalProxy("http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080")
agarrarlo.HTMLToDOCX(" ¡Hola Mundo! ")
agarrarlo.SaveTo("documentos/resultado.docx")
usuario:xxx@jp.xxxxx.com
contraseña:yyyyyyy
servidor proxy:zzz.proxy.zzz.zzzzzzz.com
Puerto:8080
mensaje de error:
Rastreo (llamadas recientes más última):
Archivo "GrabzIt_test.py", línea 54, en
agarrarlo.SaveTo("resultado.docx")
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 487, en SaveTo
identificación = yo.Save()
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 435, en Save
obj = self._take(sig, callBackURL)
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 463, en _take
devolver self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 1307, en HTTPPost
encabezados['Autorización de proxy'] = 'Básico' + base64.b64encode(auth)
Archivo "C:\Program Files\Python36\lib\base64.py", línea 58, en b64encode
codificado = binascii.b2a_base64(s, nueva línea=False)
TypeError: se requiere un objeto similar a bytes, no 'str'
Mismo mensaje de error incluso yo cambié. Establecer proxy local desde "http://xxx@jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"A "http://xxx%40jp.xxxxx.com:yyyyyyy@zzz.proxy.zzz.zzzzzzz.com:8080"
Lo siento, es posible que haya configurado el proxy incorrecto.
Cambié el proxy a "http://the_other_proxy_server:port" y el mensaje de error fue:
Rastreo (llamadas recientes más última):
Archivo "GrabzIt_test.py", línea 54, en
agarrarlo.SaveTo("resultado.docx")
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 487, en SaveTo
identificación = yo.Save()
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 435, en Save
obj = self._take(sig, callBackURL)
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 463, en _take
devolver self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 1327, en HTTPPost
h.endheaders()
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 1234, en encabezados finales
self._send_output(cuerpo_mensaje, codificar_chunked=codificar_chunked)
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 1026, en _send_output
autoenvío (mensaje)
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 964, en envío
auto.conectar()
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 940, en conexión
self._tunnel()
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 919, en _tunnel
mensaje.strip()))
OSError: Error en la conexión del túnel: se requiere autenticación de proxy 407
Debe especificar su nombre de usuario y contraseña de esta manera: http://username:password@example.com:12335
Sí, especifiqué mi nombre de usuario y contraseña (pregunta del miércoles 22 de agosto de 2018 a las 09:34:43) como:
http://username:password@example.com:12335
El nombre de usuario es la dirección de correo electrónico (xxx@jp.xxxxx.com), así que cambié a xxx%40jp.xxxxx.com.
pero es el mismo mensaje de error: TypeError: se requiere un objeto similar a bytes, no 'str'
Lo siento, me perdí tu respuesta anterior. Creo que se trata de un problema de Python 3 y he publicado una solución que debería resolver el error. ¿Puede actualizar GrabzItClient.py nuevamente desde: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py?
Reemplacé el archivo Python y encontré un nuevo mensaje de error:
Rastreo (llamadas recientes más última):
Archivo "GrabzIt_test.py", línea 54, en
agarrarlo.SaveTo("resultado.docx")
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 244, en SaveTo
identificación = yo.Save()
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 218, en Save
obj = self._take(sig, callBackURL)
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 232, en _take
devolver self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 661, en HTTPPost
encabezados['Autorización de proxy'] = 'Básico ' + autenticación codificada
TypeError: debe ser cadena, no bytes
Ok, lo hemos decodificado. into ascii. No estamos usando Python 3, por eso nos sorprendió. Actualice su código desde aquí: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Como se trata de código abierto, siéntete libre de depurar y enviar cualquier mejora que desees a Github. Como no tenemos acceso a su configuración.
Muchas gracias por su ayuda.
OSError: Error en la conexión del túnel: se requiere autenticación de proxy 407
Intentaré depurar.
Creemos que sabemos cuál es el problema, sin embargo, será necesario volver a escribir parte del código. Entonces nos comunicaremos con usted cuando haya terminado. Ojalá en 24 horas.
¡Creo que hemos solucionado el problema! Puede obtener la última versión aquí: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Gracias por la respuesta.
Nuevo mensaje de error:
Rastreo (llamadas recientes más última):
Archivo "GrabzIt_test.py", línea 54, en
agarrarlo.SaveTo("resultado.docx")
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 243, en SaveTo
identificación = yo.Save()
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 217, en Save
obj = self._take(sig, callBackURL)
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 231, en _take
devolver self.HTTPPost(self.request.url, self.request.options._getParameters(self.applicationKey, sig, callBackURL, 'html', quote(self.request.data)))
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 629, en HTTPPost
h = self._getConnection()
Archivo "C:\TEST\GrabzIt_python\GrabzIt\GrabzItClient.py", línea 679, en _getConnection
h.putheader('autorización-proxy', 'Básico' + autenticación codificada)
Archivo "C:\Program Files\Python36\lib\http\client.py", línea 1201, en putheader
aumentar CannotSendHeader()
http.client.CannotSendHeader
Hemos realizado algunas mejoras menores en: https://github.com/GrabzIt/grabzit/blob/master/python/GrabzIt/GrabzItClient.py
Lo he probado en Python 2.7, 3.4 y 3.6 y funciona en todos los entornos, con y sin proxies y con proxies autorizados.
Si aún no le funciona, deberá depurar el código.
Gracias por tu respuesta.
Depuraré mi fuente.
Por cierto, ¿probaste el nombre de usuario, que es Correo electrónico como xxx@yyy.com?