Consulta CEP em Linux
Enviado: 14 Nov 2011 14:59
Boa tarde !!! Alguém conhece alguma rotina de consulta de endereço pelo CEP em ambiente linux ?
Código: Selecionar todos
cURL := "http://www.byjg.com.br/site/webservice.php/ws/cep?httpmethod=obterlogradouroauth&cep="+vCEP_TEMP+"&usuario=seu_usuario&senha=sua_senha"
oHttp:=TipClientHttp():new( cURL )
oHttp:open()
cHtml := oHttp:readAll()
oHttp:close()
Se esta nao for, existe também a http://www.republicavirtual.com.br/cep/exemplos.php que fornece esta consulta senao me engano.alxsts escreveu:- Essa consulta é gratuita? (pelo jeito não, está pedindo usuário e senha)
Sim, um exemplo do retorno pode ser consultado em http://www.republicavirtual.com.br/cep/ ... .php#exXMLalxsts escreveu:- Consegue retornar CEPs a partir de um nome de logradouro?
O codigo acima utiliza a TIP.lib e com isto torna-se multiplataforma (win,linux,mac,etc.)alxsts escreveu:- Funciona em Windows?
É gratuita sim, uso a anos, requer apenas um cadastro rápido, para usar se próprio usuário e senha.alxsts escreveu: - Essa consulta é gratuita? (pelo jeito não, está pedindo usuário e senha)
Sim, uso dos dois modo, tanto informando o Cep e pegando retorno do endereço, como enviando o endereço para obter o CEP- Consegue retornar CEPs a partir de um nome de logradouro?
Multi-plataforma- Funciona em Windows?
Código: Selecionar todos
IF STR(nR1_CEP,1)="1" // busca o endereço enviando o CEP por parametro
cURL := "http://www.byjg.com.br/site/webservice.php/ws/cep?httpmethod=obterlogradouroauth&cep="+vCEP_TEMP+"&usuario=seu_usuario&senha=sua_senha"
oHttp:=TipClientHttp():new( cURL )
oHttp:open()
cHtml := oHttp:readAll()
oHttp:close()
IF !EMPTY(cHtml)
IF SUBSTR(UPPER(ALLTRIM(hb_UTF8ToStr(cHtml))),17) = "NÃO ENCONTRADO"
ShowMsg("CEP não encontrado, favor revisar")
Return aRet
ENDIF
AADD( aRet, vCEP_TEMP )
aTokens := HB_ATokens( SUBSTR(cHtml,4), ",", .F., .F. )
FOR i := 1 TO Len( aTokens )
AADD( aRet, TIRAACENTO(UPPER(ALLTRIM(hb_UTF8ToStr(aTokens[i])))) )
NEXT
ENDIF
ELSE // busca o cep enviando o endereço por parametro
cURL := STRTRAN("http://www.byjg.com.br/site/webservice.php/ws/cep?httpmethod=obtercepauth&logradouro="+LOWER(ALLTRIM(vEND_TEMP))+"&localidade="+LOWER(ALLTRIM(vCID_TEMP))+"&UF="+ALLTRIM(vUF_TEMP)+"&usuario=seu_usuario&senha=sua_senha"," ","%20")
oHttp:=TipClientHttp():new( cURL )
oHttp:open()
cHtml := oHttp:readAll()
oHttp:close()
IF VALTYPE(cHtml)='C'
IF LEN(cHtml) > 0
IF SUBSTR(Upper(alltrim(hb_UTF8ToStr(cHtml))),6) # "LOGRADOURO NÃO ENCONTRADO"
IF LEN(cHtml) > 0
aRet3=HB_ATokens( SUBSTR(hb_UTF8ToStr(cHtml),6), "|")
IF LEN(aRet3) > 0
IF aRET3[1,1] = ""
ADEL(aRET3,1,.T.)
ENDIF
AEVAL(aRet3, {|cV,nV| IF( LEN( aRet3[nV] ) > nMAXLEN,nMAXLEN := LEN( aRet3[nV] ), NIL ) })
vESCOLA := MY_WChoice( aret3, "Seleciona Endereço", 15+LEN(aret3), nMAXLEN,HFont():Add( '',0,-12,400,,,) ,,,,,,)
IF vESCOLA > 0
aTokens := HB_ATokens( aret3[vESCOLA], ",", .F., .F. )
FOR i := 1 TO Len( aTokens )
AADD( aRet, UPPER(ALLTRIM(TiraAcento(aTokens[i]))) )
NEXT
ENDIF
ENDIF
ENDIF
ELSE
ShowMsg("Logradouro Não Localizado, Favor não informar abreviaturas como (AV.),(TRAV.) ou (ROD.)" + HB_OsNewLine() + ;
"ou tente buscar pelo nome apenas sem (AVENIDA), (RUA), (RODOVIA) e etc..., Favor Revisar")
ENDIF
ENDIF
ENDIF
ENDIF