CGI que devuelve contenido comprimido.

Chema Cortés py en ch3m4.org
Jue Dic 2 12:20:09 CET 2004


El Jueves, 2 de Diciembre de 2004 10:13, Chema Cortés escribió:
> Como el código tenía algunos fallos, lo reenvío corregido:

Como no hay dos sin tres, hay todavía un fallo pequeño:

>
> import os,gzip,cStringIO
>
> def compressBuf(s):
>   zbuf=cStringIO.StringIO()
>   zfile=gzip.GzipFile(mode='wb', fileobj=zbuf, compresslevel=9)
>   zfile.write(s)
>   zfile.close()
>   return zbuf.getvalue()
>
> body=make_the_body()
>
> if not "gzip" in os.environ["HTTP_ACCEPT_ENCODING"]:
>   print "Content-Type: text/html"
>   print
>   print body
> else:
>   print "Content-Type: text/html"
>   print "Content-Encoding: gzip"
>   print "Content-Length: %d"%len(body)

En el 'Content-Length' debería estar el tamaño de los datos que se envían, o 
sea, el tamaño del "body" comprimido.

    zBuf=compressBuf(body)
    ...
    print "Content-Length: %d"%len(zBuf)
    ...
    print zBuf
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 189 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20041202/77f729f0/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es