Quantcast
Channel: Fórum ASP
Viewing all articles
Browse latest Browse all 1214

Busca de CEPs em Base dos Correios

$
0
0

Oi Pessoal.

 

Eu li em alguns fóruns e blogs que o Correio permite fazer consulta de CEPs através do LINK:
http://m.correios.com.br/movel/buscaCepConfirma.do

Onde fazemos uma busca enviando o CEP e ele retorna o endereço de uma base atualizada.

 

Contudo, não achei nenhum exemplo em ASP e nem XML, achei exemplos do tipo abaixo:

class BuscaCEP
{
    protected function formata($response)
    {
        $dom = new DOMDocument();
        @$dom->loadHTML($response);
        $xpath = new DOMXPath($dom);
        $values = $xpath->query('//*[@class="respostadestaque"]');
        $result = [];

        // Se não encontrar CEP, retorna false
        if (!$values->length) {
            return false;
        }

        // Obtém informações desejadas, tratando-as quando necessário
        foreach ($values as $value) {
            $result[] = preg_replace(
                '~[\s]{2,}~',
                '',
                trim($value->childNodes->item(0)->nodeValue)
            );
        }

        list($logradouro, $bairro, $localidade, $cep) = $result;
        list($localidade, $uf) = explode('/', $localidade);

        return compact('logradouro', 'bairro', 'localidade', 'uf', 'cep');
    }

    public function busca($cep)
    {
        $response = file_get_contents(
            'http://m.correios.com.br/movel/buscaCepConfirma.do',
            false,
            stream_context_create([
                'http' => [
                    'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
                    'method' => 'POST',
                    'content' => http_build_query([
                        'cepEntrada' => $cep,
                        'metodo' => 'buscarCep',
                    ]),
                ],
            ])
        );

        return $this->formata($response);
    }
}

Alguém tem algum exemplo em ASP?

 

Obrigado!

 


Viewing all articles
Browse latest Browse all 1214