Infelizmente os Correios não proporcionam uma busca fácil em sua base para essa finalidade. Muito menos disponibilizam essa base de CEPs gratuitamente.
Portanto a solução mais utilizada é procurar na internet uma base de dados
Para resolver, ou pelomenos amenizar essa situação, uma empresa de consultoria em software livre chamada (PC)² desenvolveu uma solução para acesso a essas informações.
Chamada de CEP Livre, essa solução é bastante simples de se utilizar. Basta fazer uma requisição HTTP a um endereço e receber, em formato XML ou CSV, as informações de um CEP.
O mais interessante dessa solução é que ela é colaborativa, ou seja, qualquer usuário pode adicionar um novo CEP no sistema, aumentando a base de dados e, além disso é gratuita, sem a necessidade de cadastro.
Por enquanto as informações somente podem ser acessadas online, mas a empresa promete lançar uma solução offline.
O CEP Livre pode ser utilizado gratuitamente em sistemas pessoais ou comerciais.
Para visualizar as informações de um CEP devem ser utilizadas as URLs abaixo:
1 - Resposta em XML - http://ceplivre.pc2consultoria.com/index.php?module=cep&cep=01311-000&formato=xml
2 - Resposta em CSV - http://ceplivre.pc2consultoria.com/index.php?module=cep&cep=01311-000&formato=csv
Para adicionar um CEP à base de dados do CEP Livre, acesse a URL abaixo:
http://ceplivre.pc2consultoria.com/index.php?module=cep&event=formeditacep
Obs.: As informações cadastradas são validadas pela empresa antes de serem adicionadas à base.
Para mais informações clique aqui
so faltou eles fazerem uma resposta json =D, mas xml ja ta massa XD
ResponderExcluirDe fato, uma resposta JSon, seria ótimo.
ResponderExcluirÉ verdade. Resposta em JSON seria ótimo. Inclusive eles podiam ter feito um web-service como alternativa.
ResponderExcluirMas cá entre nós, o melhor mesmo seria se disponibilizassem a base inteira para download e atualizações periódicas para tal.
Opá, Almir, blz?
ResponderExcluirAproveitei esse teu post e fiz uma classe PHP pra facilitar a vida de quem quiser utilizar essa base de dados; só passa o CEP e ele retorna um objeto com os dados (logradouro, tipo, cidade, etc...)
Coloquei aqui http://www.chrisb.com.br/blog/consulta-livre-em-base-de-ceps-com-php/ um how-to de ocmo utilizá-la!
Vi no site da empresa que eles tem planos de em breve disponibilizar o BD offline. Por enquanto, só com consultas online mesmo!
Abraços!
Parabéns Chris,
ResponderExcluirAinda não utilizei a classe mas parece que funciona muito bem!
Acho que seria uma boa você disponibilizar no PHPClasses