Ir para conteúdo
  • Cadastre-se

Bad Request na Consulta de Cep - ViaCEP


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1391 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Prezados

Estou utilizando o componente ACBrCEP com o ViaCep. Ao realizar a consulta de cep pelo endereço, algumas localidades retornam BadRequest, porém ao realizar a consulta pelo navegador tenho sucesso. Mesmo atualizando os fontes, o erro persistiu.

Nas homologações, utilizamos Belo Horizonte  (falhou) e Nova Serrana - MG (sucesso).

URL utilizada para validar Belo Horizonte: https://viacep.com.br/ws/MG/BELO HORIZONTE/CONTORNO/xml

Postado (editado)

Ao forçar lowercase, obtive sucesso realizando a busca pelo endereço de Belo Horizonte.
Segue a procedure alterada.

 

procedure TACBrWSViaCEP.BuscarPorLogradouro(const AMunicipio, ATipo_Logradouro,
    ALogradouro, AUF, ABairro : String);
var
  Municipio, Logradouro, UF: string;
begin
  if AMunicipio = '' then
     raise EACBrCEPException.Create('Munícipio deve ser informado.');

  if ALogradouro = '' then
     raise EACBrCEPException.Create('Logradouro deve ser informado.');

  if AUF = '' then
     raise EACBrCEPException.Create('UF deve ser informado.');

  UF         := LowerCase(TiraAcentos(AUF));
  Municipio  := LowerCase(TiraAcentos(AMunicipio));
  Logradouro := LowerCase(TiraAcentos(ALogradouro));

  fOwner.HTTPGet( fpURL + UF + '/' + Municipio + '/' + Logradouro + '/xml' );
  ProcessaResposta();
end;  

 

Editado por paaraujo
  • Consultores
Postado

Bom dia.

Anexe por favor a unit alterada.

Att.

  • Curtir 1
Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Obrigado pela contribuição, em breve será validada para possível inclusão ao svn

  • Curtir 1
Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • 2 anos depois...
  • Membros Pro
Postado
Em 28/06/2022 at 16:14, Miro Callai disse:

Boa noite

Estou com este erro também, apenas quando a consulta é por logradouro 

 

Erro HTTP: 400 Bad Request
Socket Error: 0 
URL: http://viacep.com.br/ws/sp/tatui/coronel aureliano/xml

Resposta HTTP:
<html>
<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.22.0</center>
</body>
</html>

Sem título.png

Acabei de descobrir o motivo.

Quando se faz a busca por logradouro de determinadas ruas quem tem espaço no meio no viacep, o componente não está colocando o %20 no lugar do espaço

Isso vale pro nome da rua e da cidade tambem.

Enquanto isso não seja tratado no componente .. sugiro colocar um tratamento antes da consulta, substituindo os espaços por %20 ... 

Aqui funcionou perfeitamente.

 

 

  • 1 mês depois ...
  • Este tópico foi criado há 1391 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...