Estoy tratando de guardar un archivo pdf dinámico generado desde un servidor web utilizando el módulo urllib2 de python. Yo uso siguiente código para obtener datos del servidor y para escribir los datos en un archivo con el fin de almacenar el archivo PDF en un disco local .:Escribir un archivo PDF desde la URL usando urllib2
import urllib2
import cookielib
theurl = 'https://myweb.com/?pdf&var1=1'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('Cookie', cookie))
request = urllib2.Request(theurl)
print("... Sending HTTP GET to %s" % theurl)
f = opener.open(request)
data = f.read()
f.close()
opener.close()
FILE = open('report.pdf', "w")
FILE.write(data)
FILE.close()
Este código funciona bien pero el archivo pdf escrita no es muy conocido por adobe reader. Si realizo la solicitud manualmente usando firefox, no tengo problemas para recibir el archivo y puedo visualizarlo sin problemas. Comparando los encabezados http recibidos (firefox y urrlib) la única diferencia es un campo de encabezado http llamado "Transferencia-Codificación = fragmentada". Este campo se recibe en firefox pero parece que no se recibe cuando realizo la solicitud urllib. ¿Alguna sugerencia?
Respuesta directa y simple, muchas gracias. – martinbedouret
Gracias Justin, acabo de comprobar y está funcionando bien ahora, muy apreciado. – martinbedouret
¡Genial! Continúe y haga clic en la marca de verificación a la izquierda de la respuesta para que otras personas sepan que se responde. –