Webservice – Consulta de CEP diretamente ao site dos correios via ASP.
A integração de pesquisa entre seu site e o correio deverá ser feita via WebService (Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Leia mais )
Para realizar uma chamada, e também verificar o funcionamento do método POST diretamente no site dos correios você deverá acessar o endereço:
Para entender e ficar mais claro, acesse o endereço acima pelo seu navegador e faça uma consulta, nosso web service fará o mesmo, mas através do nosso servidor "Provedor de Hospedagem".
Faça contato com o seu provedor e verifique se eles possuem algum serviço de WebService de consulta ao correio, normalmente essas consultas são feitas dentro de um monitoramento e você precisará de um código de autenticação que os provedores disponibilizam para seus clientes, abaixo segue alguns exemplos:
Exemplo em ASP:
<%
function fixAcento(sDec)
dim objRE
set objRE = new RegExp
sDec = Replace(sDec, "+", " ")
objRE.Pattern = "%([0-9a-fA-F]{2})"
objRE.Global = True
fixAcento = objRE.Replace(sDec, GetRef("fixAcentoHex"))
end Function
function fixAcentoHex(sMatch, lhex_digits, lpos, ssource)
fixAcentoHex = chr("&H" & lhex_digits)
end Function
dim webservice_query(2)
Dim Parsed(9,9)
webservice_url = "ENDEREÇO DO WEBSERVICE PROVEDOR"
webservice_query(0) = "CHAVE DE AUTENTICAÇÃO DO WEBSERVICE"
webservice_query(1) = "query_string" ' VALORES POSSÍVEIS: XML, QUERY_STRING OU JAVASCRIPT
webservice_query(2) = "25963-027" ' CEP QUE SERÁ PESQUISADO
webservice_url = webservice_url &"?"&_
"auth="&_
webservice_query(0)&_
"&formato="&_
webservice_query(1)&_
"&cep="&_
webservice_query(2)
' EFETUAR REQUISIÇÃO AO WEBSERVICE
set Xml = Server.CreateObject("Microsoft.XMLHTTP")
Xml.open "GET", webservice_url, false
Xml.send()
Resultado = Xml.responseText
Resultado = split( Resultado, "&")
' MONTANDO PARÂMETROS
for e = 1 To ubound( Resultado)
temporario = split( Resultado(e), "=")
Parsed(e,0) = temporario(0)
Parsed(e,1) = replace( temporario(1), "+", " ")
next
' MONTANDO RESPOSTA
select Case Parsed(1,1)
case "2"
texto = " "&_
"Cidade com logradouro único "&_
"Cidade: "&Parsed(4,1)&" "&_
"UF: "&Parsed(3,1)
case "1"
texto = " "&_
"Cidade com logradouro completo "&_
"Tipo de Logradouro: "&Parsed(6,1)&" "&_
"Logradouro: "&Parsed(7,1)&" "&_
"Bairro: "&Parsed(5,1)&" "&_
"Cidade: "&Parsed(4,1)&" "&_
"UF: "&Parsed(3,1)
end select
' PRINTANDO O RESULTADO NA TELA
Response.Write fixAcento( texto )
set Xml = nothing
%>
Outras opções:
No CEPFACIL "http://cepfacil.com.br/", você encontrará formas de consulta via webservice com exemplos em: Texto, XML, JSON.
Uma outra opção é baixar o exemplo em Delphi desenvolvido pelo Walfrido, baseado no webservice do REPÚBLICA VIRTUAL.