Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Srs.Segue
Set Obj = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")StrCEP = "02401-100"strURL = "http://www.correios.com.br/servicos/falecomoscorreios/ctBuscaEndereco.cfm?cep=" & strCEPObj.open "GET",strURL,FalseObj.send strHtml = Obj.responseText POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsEndereco = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.write dsEndereco & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsBairro = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.Write dsBairro & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsCidade = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.Write dsCidade & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsEstado = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm)Response.Write dsEstado & "<br>"
Galera...Há uma pequena falha no código, segue o novo
<%'Set Obj = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")Set Obj = Server.CreateObject("Microsoft.XMLHTTP")StrCEP = Request("StrCEP")strURL = "http://www.correios.com.br/servicos/falecomoscorreios/ctBuscaEndereco.cfm?cep=" & strCEPObj.open "GET",strURL,FalseObj.send strHtml = Obj.responseText POsFim = InStr(1, strHtml, "=")strHtml = Mid(strHtml, PosFIm + 1)POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsEndereco = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.write dsEndereco & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsBairro = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.Write dsBairro & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsCidade = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm + 1)Response.Write dsCidade & "<br>"POsINi = InStr(1, strHtml, "=")PosFIm = InStr(1, strHtml, ";")dsEstado = Mid(strHtml, POsINi + 3, PosFIm - POsINi - 4)strHtml = Mid(strHtml, PosFIm)Response.Write dsEstado & "<br>"%>
opa
interessante professor
dei um split, e diminui um pouco mais o seu codigo, mas funcionou beleza.
me diz uma coisa.. como você descobriu essa URL dos correios?
é uma pérola, hehehe
o meu ficou:
http://www.dark0.truehost.com.br/codigos/c...os/busca%5Fcep/
>
opa
interessante professor
dei um split, e diminui um pouco mais o seu codigo, mas funcionou beleza.
me diz uma coisa.. como você descobriu essa URL dos correios?
é uma pérola, hehehe
o meu ficou:
http://www.dark0.truehost.com.br/codigos/c...os/busca%5Fcep/
[](/topic/142634-busca-cep/?do=findComment&comment=423752)
Dark0, pode postar o seu código?
ele ta aqui
Muito Bom Pessoall.... Gostei bastante também.... Paranbéns aos criadores e colaboradores...
o formulario eu vou montar normal??...
Cara...
Não fui eu...
Um cara postou uma dúvida, apontando para essa URL, e eu fui ver como retornava e achei esse troço...(Foi um cara do WMOnline)..(não lembro quem era).
>
opa
interessante professor
dei um split, e diminui um pouco mais o seu codigo, mas funcionou beleza.
me diz uma coisa.. como você descobriu essa URL dos correios?
é uma pérola, hehehe
o meu ficou:
http://www.dark0.truehost.com.br/codigos/c...os/busca%5Fcep/
[](/topic/142634-busca-cep/?do=findComment&comment=423752)
ah tá.. belezaé que a url original dos correios te joga pra um flash, e assim nao tem como capturar nada ali com xmlhttp..por isso por lá não tem como mesmo..
Pessoal!
Eu tô com um probleminha...
Como eu faço para me retorna o CEP, e não a rua, bairro e estado.
Igual a esse exemplo:
Tem que mudar algum parâmetro na busca!
Abraços,
Boa Professor,Vou mover para o "Laboratório de Scripts".
Bom...
Acho que dá pra perceber que gostei do tal do AJAX...
Busca Endereço por CEP com ajax.
Em funcionamento: http://advocacia.razaodigital.com/ajax/pag4.asp
Como está tudo no client, nem vou postar o código, basta dar um "View Source" lá
no ff nao aconteceu nada, heheheno ie ficou no "aguarde..."
Estranho...para mim tá funcionando !
Aqui no IE deu erro:
Linha: 42Permissão negada
Essa linha é a que dá um .OPEN no code.
Estranho..Para mim não dá erro !!!!...Será que depende de algum tipo de peermissão no IE ???
Pode ser, pelo que percebi você usou JScript (implementação da MS) e pode ser que não rode.
Eu to achando que é porque estou apontando para uma URL com domínio diferente .... sei lá...A implementação dos objetos do XML é assim mesmo salgado.É disso que você falou ?
Os scripts não estão funcionando mais... alguém tem alguma solução???
Os correios alteraram a página... tem uma galera boa que tava usando e ficou prejudicada... pior p/ os correios que vão ter que se virar com o cep errado que pessoal está cadastrando.
Isso mesmo.
A página dos correios do url aí que foi passando inexiste mais.
A questão que já discuti no orkut é: vocês precisam achar uma outra página que capture estes dados.
Eu já achei... http://www.laroya.com.br/cadastro.asp
Qualquer coisa, capturem os dados da minha página. Só precisam saber qual é, o q é fácil.. rs
Boa sorte! ;)
Obs.: podem dar um look nos meus comentários sobre isso na comunidade ASP - ACTIVE SERVER PAGES no orkut e neste url aki, http://www.foo.com.br/viewtopic.php?p=8419...b32b7484c64cb2a , no fórum do FOO.
eae pessoal, estava lendo este tópico, e achei uma coisa bem interesante:
http://www.locaweb.com.br/suporte/tutoriai...rreios_wind.asp
falow ae
BOm estava precisando gerar os dados pelo CEP, vim aqui na seca ahahahahaVou dar uma solução, que se me ajudarem a desenvolver acho que ajuda a todosA Locaweb, tem um componente que gera o CEP, é um componente dos correios, podemos criar uma página e colocar no server de alguem hospedado na locaweb, eu mesmo tenho 2 sites de clientes lá...Jogaria uma página que tratia esses dadosE cada usuario, no seu código mandaria o CEP pra lá, que geraria este endereço e puxariamos com o xmlhttp por exemplo...O que era feito antes pelo site dos correios, fariamos pelo meu site por exemploO que acham ?
Seguinte, fiz uma gambiarra e consegui gerar o CEP, graça a LocaWeb, eles possuem um componente que gera o CEP... OK, pra quem tem site na locaweb, mão na roda certo ?
Então usei a ídeia original de capturar dos correios e agora captura de um site de um colega que tá parado...
Criei a página lá na locaweb com o seguinte script:
<% Set CEP_obj = CreateObject("Correios.CEP") CEP_obj.EncontraCEP(Trim(Request("CEP"))) If CEP_obj.Erro = 0 Then endereco = CEP_obj.Endereco bairro = CEP_obj.Bairro cidade = CEP_obj.Cidade estado = CEP_obj.Estado cep = CEP_obj.CEPResponse.Write endereco & "<br>" & Bairro & "<br>" & cidade & "<br>" & estado & "<br>" & cepElse erro_descricao = CEP_obj.DescricaoErro End If Set CEP_obj = Nothing %>
Pronto, ele captura o CEP la e imprime na tela, agora no MEU servidor, coloco o seguinte script:
<% If Trim(Request("VarCEP")) <> "" Then Set ObjXML = CreateObject("Msxml2.XMLHTTP") VarCEP = Trim(Request("VarCEP")) VarURL = "http://www.silo.com.br/captura_cep.asp?cep=" & VarCEP ObjXML.open "GET",VarURL,False ObjXML.send VarHtml = BinaryToString(ObjXML.ResponseBody) If Instr(1,VarHTML,"<br>") <> 0 Then Quebra = split(VarHtml,"<br>") VarEnderecoCEP = Quebra(0) VarBairroCEP = Quebra(1) VarCidadeCEP = Quebra(2) VarEstadoCEP = Quebra(3) Else Response.Write "<script>" Response.Write "alert('CEP não confere!');" Response.Write "</script>" End IfEnd If%>
Agora eu só passo a URL do site que ta na locaweb e capturo de lá...
A sim o XMLHTTP tem problema de acentuação, só adicionar essa função (que já está sendo chamada no código)
Function BinaryToString(strBinary) Dim intCount, xBinaryToString xBinaryToString = "" For intCount = 1 to LenB(strBinary) xBinaryToString = xBinaryToString & chr(AscB(MidB(strBinary,intCount,1))) Next BinaryToString = xBinaryToStringEnd Function
Podem usar esse endereço, porque o site tá paradoe vai rodar por muito tempo, caso um dia sumir de lá, se alguem tiver algum site na locaweb, só criar e passar para a galera que não hospeda lá, o endereço do arquivo :)
Vou melhorar esse script depois
Abraços
Já arrumei uns futuros BUS, já gero mensagem se não existir o CEP e já arrumo a centuação do componente agora, só usarem :P
Boa Professor,
Vou mover para o "Laboratório de Scripts".