0

The following code was generated by Postman on a successful post. However, when i tried to run it on Python i got Response [409], which said only PDF or JPEG files are accepted, even though the file I submited is a PDF. Hope someone can help me out on this one. Already searched for a few days, but couldn't get it working. I can't take the headers off, because the website requires authentification. I was successfull getting the token and session.

payload = {'integracaoDocumento.nomeVitima': 'Outroteste da Costa',
           'integracaoDocumento.rgVitima': '1234',
           'integracaoDocumento.uploadDocumentoList[0].descricao': 'BO 1234',
           'integracaoDocumento.uploadDocumentoList[0].idTipoDocumento': '1',
           'integracaoDocumento.uploadDocumentoList[0].identificador': 'BO 1234',
           'dadosRegistro.dataRegistroDelegacia': '11/09/2016',
           'dadosRegistro.idDelegaciaRegistro': '141',
           'dadosRegistro.idDelegaciaApuracao': '227',
           'dadosFato.data': '10/12/2015',
           'dadosFato.periodo': 'T',
           'dadosFato.idMunicipio': '5508',
           'dadosFato.descricao': 'Descricao Fato Desaparecido',
           'dadosFato.idTipoLogradouro': '1',
           'dadosFato.logradouro': 'Rua de teste',
           'dadosFato.numero': '777',
           'dadosFato.complemento': 'Apt 123456',
           'dadosFato.cep': '21351110',
           'dadosFato.pontoReferencia': 'Perto do bar.',
           'vitima.dadosBiograficos.cnh': '123123123',
           'vitima.dadosBiograficos.nomeMae': 'Nome da Mae de Vitima Desaparecimento Instaurado 1',
           'vitima.dadosBiograficos.nomePai': 'Nome do Pai de Vitima Desaparecimento Instaurado 1',
           'vitima.dadosBiograficos.cpf': '94151587004',
           'vitima.dadosBiograficos.orgaoEmissorRg': 'DETRAN',
           'vitima.dadosBiograficos.tituloEleitor': '1234567890',
           'vitima.dadosBiograficos.ctps': '333222111',
           'vitima.dadosBiograficos.dataNascimento': '17/03/1959',
           'vitima.dadosBiograficos.idEstadoCivil': '1',
           'vitima.dadosBiograficos.passaporte': 'FT44225577',
           'vitima.dadosBiograficos.sexo': 'F',
           'vitima.dadosBiograficos.nacionalidade': 'B',
           'vitima.dadosBiograficos.idNaturalidade': '33',
           'vitima.caracteristicasFisicas.idAltura': '3',
           'vitima.caracteristicasFisicas.idTipoSanguineo': '2',
           'vitima.caracteristicasFisicas.idBiotipo': '1',
           'vitima.caracteristicasFisicas.idCorOlhos': '1',
           'vitima.caracteristicasFisicas.idCorPele': '2',
           'vitima.caracteristicasFisicas.idTipoCabelo': '1',
           'vitima.caracteristicasFisicas.idCorCabelo': '1',
           'vitima.caracteristicasFisicas.amputacoes[0]': '1',
           'vitima.caracteristicasFisicas.amputacoes[1]': '4',
           'vitima.caracteristicasFisicas.deformacoes[0]': '1',
           'vitima.caracteristicasFisicas.deficiencias[0]': '1',
           'vitima.caracteristicasFisicas.deficiencias[1]': '2',
           'vitima.caracteristicasFisicas.deficiencias[2]': '3',
           'vitima.caracteristicasFisicas.caracteristicasIndividualizantes[0].idCaracteristicaIndividualizante': '1',
           'vitima.caracteristicasFisicas.caracteristicasIndividualizantes[0].idParteCorpo': '2',
           'vitima.caracteristicasFisicas.caracteristicasIndividualizantes[0].descricao': 'Descricao caracteristica individualizante.',
           'vitima.caracteristicasFisicas.artigoPessoais[0].idArtigoPessoal': '1',
           'vitima.caracteristicasFisicas.artigoPessoais[0].idParteCorpo': '5',
           'vitima.enderecos[0].idUf': '53',
           'vitima.enderecos[0].idMunicipio': '5508',
           'vitima.enderecos[0].idTipoLogradouro': '3',
           'vitima.enderecos[0].logradouro': 'Rua de teste da Vitima Desaparecimento Instaurado 1',
           'vitima.enderecos[0].numero': '111',
           'vitima.enderecos[0].complemento': 'Casa 99',
           'vitima.enderecos[0].cep': '22735080',
           'vitima.enderecos[0].pontoReferencia': 'Perto da padaria.',
           'vitima.contatos[0].idTipoContato': '1',
           'vitima.contatos[0].descricaoContato': 'teste@teste.com.br',
           'vitima.contatos[1].idTipoContato': '2',
           'vitima.contatos[1].descricaoContato': 'Contato teste 1',
           'interessados[0].nome': 'Interessado teste 1',
           'interessados[0].cpf': '62784035018',
           'interessados[0].rg': '223566578',
           'interessados[0].orgaoEmissor': 'IFP',
           'interessados[0].nomePai': 'Pai interessado teste 1',
           'interessados[0].nomeMae': 'Mae Interessado teste 1',
           'interessados[0].idRelacaoVitima': '1',
           'interessados[0].meiosComunicacoes[0].idTipoMeioComunicao': '1',
           'interessados[0].meiosComunicacoes[0].descricao': 'Meio de comunicacao teste 1',
           'interessados[0].meiosComunicacoes[1].idTipoMeioComunicao': '2',
           'interessados[0].meiosComunicacoes[1].descricao': 'blah@blah.com.br',
           'interessados[1].nome': 'Interessado teste 2',
           'interessados[1].cpf': '14970635072',
           'interessados[1].rg': '1121346579',
           'interessados[1].orgaoEmissor': 'DETRAN',
           'interessados[1].nomePai': 'Pai interessado teste 1-1',
           'interessados[1].nomeMae': 'Mae Interessado teste 1-1',
           'interessados[1].idRelacaoVitima': '2',
           'interessados[1].meiosComunicacoes[0].idTipoMeioComunicao': '2',
           'interessados[1].meiosComunicacoes[0].descricao': 'AAAAA@FSDAFDSF.com.br'}
headers = {
           'Authorization': 'Bearer ' + token,
           'Cookie': 'JSESSIONID=' + session,
           }
files = [('integracaoDocumento.uploadDocumentoList[0].arquivo',open(r'PATH_TO_FILE\FILE.pdf','rb'))]
response = requests.request("POST", url, headers = headers, data = payload, files = files, verify = False)

print(response.text.encode('utf8'))

2 Answers2

0

This is re-written answer. I suggested to declare content-type, but according to multipart data POST using python requests: no multipart boundary was found you shouldn't write it manually with Python requests.

Instead, there is content-disposition element which can be used to declare details of content. Perhaps just adding filename with right extension is enough for server to accept your file. Read further info from here: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

ex4
  • 2,289
  • 1
  • 14
  • 21
  • I tried to add the content-type and it returned Response 500 with an error message saying there was no multipart boundary. I'm not sure what the boundary should be, but i tried adding the one from the example on the API documentation (boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm). Then it returned Response 409 with an error message saying the request can't be empty. Any other ideas? – Renato da Silva May 13 '20 at 16:08
0

I solved the prolem by getting the http.client code instead of the requests.