Python - ayuda para llamar servicio web en python

 
Vista:
sin imagen de perfil

ayuda para llamar servicio web en python

Publicado por Esteban (1 intervención) el 05/04/2022 06:34:49
Saludos amigos soy nuevo en python y estoy tratando de consumir un servicio web json
tengo un problema con el HEADER
la llave Authorización que manejan es muy grande y me da error al ejecutar desde python pero desde POSTMAN funciona correctamente por lo que descarto problema en el servicio
estoy haciendo algo mal ?

el código es el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import json
import requests
import pprint
import ssl
import sys
 
#import urllib
 
import urllib.parse
 
url = 'https://cjt.jardinazuayo.fin.ec/JP02002/JP02002-Service/Consultas/consultarTransacciones'
 
data = r''' {
              "fechaInicio": "4/10/2021",
              "fechaFin": "4/4/2022",
              "saldo":true,
              "numeroTransacciones": 20,
              "paginaActual": 1,
              "tipoTransaccion": null
            }
            '''
 
data_json = json.dumps(data)
headers = {'Authorization':'Bearer eyJhbGciOiJIUzI1NiJ9.eyJzZXJ2aWNlIjoxOSwiaWREZXZpY2UiOiJMaExaWlpGclRNMlBNMmtvT3lsT0pRPT0iLCJpcERldmljZSI6IjQ1LjIzNi4xNTEuMzMiLCJPUyI6ImFuZHJvaWQiLCJhZ2VudCI6Ik1vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCAxMDsgTTIwMTBKMTlTRyBCdWlsZC9RS1ExLjIwMDgzMC4wMDI7IHd2KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuMCBDaHJvbWUvOTkuMC40ODQ0Ljg4IE1vYmlsZSBTYWZhcmkvNTM3LjM2IiwidHlwZSI6Ijg4NTM3MTA0MzciLCJzdWIiOiJOdFpiVWhvOFRDQWZHSU1PdUtRYVEwNDhyaHdLQXBWU0NWRTFvaFptN1B0YmE4SE5Zc213aHV2SmpDVUN3SnMvIiwiaXNzIjoiaHR0cDovL2NqdC5qYXJkaW5henVheW8uZmluLmVjL0pQMDIwMDIvSlAwMjAwMi1TZXJ2aWNlL1NlZ3VyaWRhZGVzL2F1dGVudGljYXIiLCJpYXQiOjE2NDkxMzI3NzgsImV4cCI6MTY0OTEzMzAxOH0.HKYCj419gXb3cLXRLHGkkKx9Oef_u1KdcYYvZgpfrLg',
           'Content-Type': 'application/json'}
 
#response = requests.post(url, data=data_json, headers=headers, verify=False)
response = requests.post(url, data=data_json, headers=headers)
pprint.pprint(response.status_code)
if response.status_code == 200:
  pprint.pprint(pprint.pprint(response.json()))
 
else:
    pprint.pprint('error en servicio')
    pprint.pprint(response.status_code)
    pprint.pprint(pprint.pprint(response.json()))


como respuesta me da lo siguiente

400
'error en servicio'
400
Traceback (most recent call last):
File "C:\pruebas carga servicios japagos\consultar_transacciones.py", line 36, in <module>
pprint.pprint(pprint.pprint(response.json()))
File "C:\Python39\lib\site-packages\requests\models.py", line 910, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Python39\lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "C:\Python39\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python39\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

pero en POSTMAN si me devuelve todo correctamente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder