La solicitud de la API devuelve text/html y no un objeto json

Según la guía maravillosa de @sam, he encontrado el punto final adecuado para mi solicitud deseada:

https://domain.com/admin/reports/bulk?reports[dau_by_mau][facets][]=prev_period&reports[dau_by_mau][start_date]=2022-07-27&reports[dau_by_mau][end_date]=2022-08-28&reports[dau_by_mau][limit]=50

No encontré ninguna cabecera de formulario presente y asumí que no se necesitaba ninguna. Esta solicitud en Dev Tools da como resultado una respuesta JSON, exactamente la que quiero/necesito. Estoy intentando hacer una solicitud GET de Python:

url = "https://domain.com/admin/reports/bulk?reports[dau_by_mau][facets][]=prev_period&reports[dau_by_mau][start_date]=2022-07-27&reports[dau_by_mau][end_date]=2022-08-28&reports[dau_by_mau][limit]=50.json"
headers = CaseInsensitiveDict()
headers["Content-Type"] = "multipart/form-data"
headers["Content-Type"] = "application/json"
headers["Api-Key"] = SECRET.API
headers["Api-Username"] = "system"

resp = requests.get(url, headers=headers)

print(resp.status_code)
print(resp.headers)

Obtengo un 200, pero devuelve con un 'Content-Type': 'text/html, y no un JSON (que es lo que quiero). Y ni siquiera estoy seguro de que el texto que devuelve sea la versión de texto de los datos deseados.

Tampoco ayudó.

Entonces, ¿qué estoy haciendo mal?

1 me gusta

Tienes una cabecera duplicada:

Content-Type es sobre lo que envías, y Accept es sobre lo que quieres a cambio.
Así que necesitarás cambiar esto a

headers["Content-Type"] = "multipart/form-data"
headers["Accept"] = "application/json"
5 Me gusta

Lo siento, es una reliquia no relacionada. Tuve un problema sin el segundo encabezado.

Este sí funciona. ¡Gracias!

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.