luisiturrios1 / python-cfdiclient

Cliente Python Web Service del SAT para la descarga masiva de xml
GNU General Public License v3.0
101 stars 50 forks source link

Paquete_b64 error en decodificación #7

Closed erickga closed 4 years ago

erickga commented 4 years ago

Hola Luis, me ayudó bastante tu código pero tengo problemas al traducir la respuesta (paqueteb64) Me sale corrupto/dañado los datos que me arroja al momento de quererlos pasar a utf-8

¿ Sabes si hay que hacerle algo a esta respuesta que me esté faltando ?

Me sale así (este es un fragmento de la conversión a utf-8):

PKnP^ƾu M,e2551eeb-3b7a-4b6c-809f-933cdfa04b0e.xml.xmlXɒL~+S6@uvB@H1mHB+ZAև~~ ʴCiҒTF{܊|6DMV}C注 0-ip骨.Qӥ4}."__hE@Ţ)3(3zRQo32#WL@TvTjc.c[^ܧ$̳ڿpy| )qi1"vJ qNiL#<,Y/M.oƪu\;PQz-!' Ja V,@2{ A]0.khPcO>ƺ*|\~Ȗ5r>ٝ.,@Ŷ@ YwFzAb ”u!Vw

luisiturrios1 commented 4 years ago

Puedes probar lo siguiente para ver si te funciona:

fiel = Fiel(cer_der, key_der, contrasena)

auth = Autenticacion(fiel)

token = auth.obtener_token()

escarga_masiva = DescargaMasiva(fiel)

result = descarga_masiva.descargar_paquete(token, rfc, id_paquete)

if int(result['cod_estatus']) == 5000:
    zip_file = base64.b64decode(result['paquete_b64'])
    with open('{}.zip'.format(id_paquete), 'w') as fp:
        fp.write(zip_file)
erickga commented 4 years ago

Gracias, si vi que se manda como *.zip la respuesta.

arielmol commented 4 years ago

Si hubieras usado mc viendolo con F4 hubieras visto el header típico de ZIP en el volcado binario. O file cosa te hubiera dicho que era un ZIP.