下面的代码是邮递员在一次成功的发帖中生成的,但是,当我试图在Python上运行它时,得到了响应[409],它说只接受PDF或JPEG文件,尽管我提交的文件是PDF。然而,当我试图在Python上运行它时,我得到了响应[409],它说只有PDF或JPEG文件被接受,即使我提交的文件是一个PDF。希望有人能帮我解决这个问题。已经找了几天了,但是没办法。我不能把头文件拿掉,因为网站要求认证。我是成功获得token和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': '[email protected]',
'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': '[email protected]',
'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': '[email protected]'}
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'))
这是重写的答案。我建议声明content-type,但是根据我的建议 使用python请求的多部分数据POST:没有发现多部分边界。 你不应该用Python请求手动编写。
相反,有一个 content-disposition
元素,可以用来声明内容的细节。也许只需添加正确的扩展名就足以让服务器接受你的文件。从这里阅读更多信息。https:/developer.mozilla.orgen-USdocsWebHTTPHeadersContent-Disposition。
我通过获取http.client代码而不是请求来解决这个问题。