2
respostas

método HTTP POST, via Pythhon

import requests

val={"token": "90467e25e2c5bbf6476310f9aeb1d005a73ecea5",
        "email": "jaycops@gmail.com",
        "answer": [{"NU_INSCRICAO": "160000000001", "NOTA_FINAL": 623.3},
                   {"NU_INSCRICAO": "160000000002", "NOTA_FINAL": 567.2},
                   {"NU_INSCRICAO": "160000000003", "NOTA_FINAL": 403.1} ]}
r = requests.post("https://api.codenation.com.br/v1/user/acceleration/data-science/challenge/enem-1/submit", data=val)
print(r.status_code, r.reason)
print(r.text)

Estou tentando submeter este json via python e o seguinte erro me é apresentado: {"code":"500","error":"invalid character 'o' in literal true (expecting 'r')","message":"Erro adicionando o desafio"}

Não entendo o que está acontecendo, se alguém puder dar uma luz agradeço.

2 respostas

Oi João, boa tarde. Me parece que é algum erro de encode. Tente fazer:

import requests
import json

#código omitido

r = requests.post("https://api.codenation.com.br/v1/user/acceleration/data-science/challenge/enem-1/submit", data=json.dumps(val))

json.dumps() retorna uma string representando um objeto json.

veja se dá certo. aguardo seu feedback!

Oi então, verifiquei o que estava acontecendo...

Ao invés de "data=val", deveria simplesmente colocar "json=val"

Isto já solucionou a situação.

Obrigado pela atenção !