Jump to content


Como Pegar O Endereço Através Do Cep


  • Faça o login para participar
10 replies to this topic

#1 Whitesnake

Whitesnake
  • Visitantes

Posted 06/11/2004, 19:43

Galera este código é bem legal para exibir o endereço da pessoa, apenas quando ela especifica o CEP. Veja como é feito o esquema que utiliza LWP para pegar os dados do site dos Correios:

#!/usr/bin/perl
print "Content-type:text/html\n\n";
use LWP::UserAgent; # Este módulo é necessário para o funcionamento do script

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@conteudo = split(/&/, $buffer);
foreach $par (@conteudo) {
        ($campo, $valor) = split(/=/, $par);
        $valor =~ tr/+/ /;
        $valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $CAMPO{$campo} = $valor;
}



$cep="http://www.correios.com.br/servicos/cep/xml_logradouro.cfm?cep=$CAMPO{cep}&pag=1";

### Criamos uma instância para o LWP ###
$site = LWP::UserAgent->new;
my $end   = $site->get($cep);
$endereco = $end->content;
###                                                    ###

### Pega a rua, bairro, cidade e estado ###
($rua)      = ($endereco=~ m#<VLOG_NO_DNEC>\s*(.*?)\s*</VLOG_NO_DNEC>#is);
($bairro)   = ($endereco=~ m#<VBAIRRO>\s*(.*?)\s*</VBAIRRO>#is);
($cidade)   = ($endereco=~ m#<VLOC_NO>\s*(.*?)\s*</VLOC_NO>#is);
($estado)   = ($endereco=~ m#<VUF>\s*(.*?)\s*</VUF>#is);
###                                                    ###

if(!$CAMPO{confirma}){
######################################
#######              Mostra o formulário             ######
print qq|
<html>
<head>
<title>Cadastro de Usu&aacute;rio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
.titulo{ font-family:Tahoma; font-weight:bold; font-size:8pt; color:888888; }
.conteudo{ font-family:Tahoma; font-size:8pt; color:888888; }
A { font-family:Tahoma; font-size:8pt; color:888888; }
A:hover { font-family:Tahoma; font-size:8pt; color:AAAAAA; text-decoration:none}
BODY { overflow:auto; }
INPUT { font-family:Tahoma; font-weight:bold; font-size:8pt; color:888888; border-color:666666; border-width:1pt; }
</style>
</head>

<body>


<FORM METHOD="post" ACTION="" name="meuform" ID="meuform">
  <table width="62%" border="0" bgcolor="#999999">
    <tr>
      <td><table width="100%" bgcolor="#FFFFFF" class="conteudo">
          <tr bgcolor="#999999">
            <td colspan="2" class="titulo"><div align="center"><font color="#FFFFFF">Cadastro</font></div></td>
          </tr>
          <tr>
            <td height="15">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td width="201" height="21">Nome:</td>
            <td width="247"><input name="nome" type="text" id="nome" value="$CAMPO{nome}" /></td>
          </tr>
          <tr>
            <td>Email</td>
            <td><input name="email" type="text" id="email" value="$CAMPO{email}"/></td>
          </tr>
          <tr>
            <td height="16">&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td width="201">CEP:</td>
            <td width="247"><input type="text" name="cep" value="$CAMPO{cep}" onChange="document.meuform.submit()">

              <font size="1"><em><br />
              (Se voc&ecirc; n&atilde;o sabe qual &eacute; o n&ordm; seu CEP <a href="http://www.correios....ep_default.cfm" target="_blank">clique
              aqui</a>.)</em></font></td>
          </tr>
          <tr>
            <td colspan="2"><font size="1">&nbsp;</font></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td>Rua:</td>
            <td><input type="text" name="rua" value="$rua" disabled /></td>
          </tr>
          <tr>
            <td>Bairro:</td>
            <td><input type="text" name="bairro" value="$bairro" disabled /></td>
          </tr>
          <tr>
            <td>Cidade:</td>
            <td><input type="text" name="cidade" value="$cidade" disabled /></td>
          </tr>
          <tr>
            <td>Estado:</td>
            <td><input type="text" name="estado" value="$estado" disabled /></td>
          </tr>
          <tr>
            <td colspan="2"><input type="checkbox" name="confirma" value="1" />
              Concordo com os termos e desejo me cadastrar.</td>
          </tr>
          <tr>
            <td colspan="2"><div align="center"><br />
                <input type="submit" value="Cadastrar" />
              </div></td>
          </tr>
        </table>
       </td>
    </tr>
  </table>
</form>
</body>
</html>
|;

#######              Mostra o formulário             ######
######################################
}else{
######################################
####           Ações após o envio do cadastro           ####
print qq|

<html>
<head>
<title>Cadastro de Usu&aacute;rio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
.titulo{ font-family:Tahoma; font-weight:bold; font-size:8pt; color:888888; }
.conteudo{ font-family:Tahoma; font-size:8pt; color:888888; }
A { font-family:Tahoma; font-size:8pt; color:888888; }
A:hover { font-family:Tahoma; font-size:8pt; color:AAAAAA; text-decoration:none}
BODY { overflow:auto; }
INPUT { font-family:Tahoma; font-weight:bold; font-size:8pt; color:888888; border-color:666666; border-width:1pt; }
</style>
</head>

<body>
  <table width="62%" border="0" bgcolor="#999999">
    <tr>
      <td><table width="100%" bgcolor="#FFFFFF" class="conteudo">
          <tr bgcolor="#999999">
            <td class="titulo"><div align="center"><font color="#FFFFFF">Cadastro</font></div></td>
          </tr>
          <tr>
            <td height="15"><div align="center"><br>
                <br>
                Parab&eacute;ns o cadastro foi conclu&iacute;do<br>
                <br>
                <br>
                <br>
              </div></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</body>
</html>

|;


####           Ações após o envio do cadastro           ####
#####################################
}



#2 Hospedar-se .Com

Hospedar-se .Com

    Super Veterano

  • Usuários
  • 1500 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 06/11/2004, 23:22

hehe é interessante, faz um ai pra verificar o cpf e cnpj, só usar o CURL ai tem que importar a img e o cookie to fazendo o do cnpj

#3 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 07/11/2004, 08:42

Interresante esse do CEP, pois na verdade ele abre o xml do site e pega o valor entre as tags com uma Expressão Regular.

Mais uma observação: você também poderia usar o IO::Socket ou mesmo o Socket puro para fazer isso.

Agora vem a dúvida:
porque colocou as váriaveis entre parênteses? EX.: ($rua)


Flw!

Edição feita por: jgcl, 07/11/2004, 08:47.

João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#4 Whitesnake

Whitesnake
  • Visitantes

Posted 07/11/2004, 12:00

Correto jgcl, tanto o LWP, LWP-Simple, LWP-UserAgent, Socket, IO-Socket poderiam ser usado neste exemplo.

Agora o fato de eu ter colocado as váriaveis entre parênteses não influencia em nada, elas poderiam ser definidas normalmente sem problemas.

#5 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 23/01/2005, 18:15

otimo tutorial cara ce ta de parabens =D

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#6 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 16/09/2017, 07:13

Amoxicillin 500 Tv cheap cialis Hydrochlorothiazide No Prescription
Buy Levitra Online Cialias
Buy Amlodipine Without Prescription <a href=http://cialtobuy.com>cialis</a> Acheter Viagra Forum
Keflex Penicillin Allergy cialis Prix Viagra Et Cialis
Propecia Treatment For Dry Skin Dapoxetine Acheter
Plavix Online Purchase <a href=http://cialtobuy.com>cialis</a> Cialis Bei Frau
Viagra Kaufen Gunstig online pharmacy Lioresal Oral Effets Secondaires Cialis In Gelsenkirchen Amoxicillin With Penicillin Allergy Effet Cialis Ou Viagra cialis Levitra 100mg Guaranteed Lowest Price

#7 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 01/10/2017, 23:08

Propecia Finasteride Generic Cialis En Valencia cheapest levitra Vente De Kamagra Buy Atomoxetine Online India Progesterone Can I Purchase Medication
What Is Amoxicillin Good For buy viagra online Acquisto Cialis Generico In Italia Propecia Vescica
Alli 120 Refill Pack cialis Amoxicillin And Staph Infection Cephalexin Dog Dose
My Cat Ate An Amoxicillin Stendra Medication With Free Shipping Next Day Without Dr Approval generic viagra Insurance Cover Propecia
The Purple Pharmacy Cialis 5mg Preise Osterreich Levitra Headache viagra Generic Cialis Super

#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 12/10/2017, 01:26

Cialis Online Pharmacy Reviews Cialis Per Divertimento Best Price 1mg Finasteride cheap cialis Rx Pharmacy Online
Cheap Generic Valtrex Online Amoxicillin 3000mg Daily Dose cialis Cephalexin And Pregnant Viagra Ohne Rezept Holland 5 Day Prednisone Pack

#9 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 28/10/2017, 06:29

Cialis Mutuabile viagra Lasix No Prescription Cialis Contrareembolso Overnight Secure Dutasteride Medicine With Free Shipping
Generico Viagra Madrid Whoesale Levitra Pills cialis Legally Shipped Ups Stendra Medicine Visa Accepted Overseas Cialis Dependance
Vendita Cialis Originale On Line levitra plus Ordonnance Cialis Ed Meds Usa
Propecia Online Order Cheap Zithromax 250 Mg Uk Kamagra Dapoxetine viagra online prescription Kamagra Viagra Generika Globalpharmacycanada
Cialis Y Deporte Cheap Doxycycline Online No Prescription cialis buy online Amoxicillin Dental Graft

#10 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 12/11/2017, 15:16

Buy Colchicine Tablets Commander Du Propecia viagra cialis Will Cephalexin Treat Syphilis
Zithromax 250mg Singapore viagra Pancrelipase Propecia Dermatology

#11 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/11/2017, 02:21

Farmacia Cialis Sin Receta Cialis Soft 20mg viagra Propecia Paginas Similares Effetti Collaterali Viagra It
Achat Cialis Avec Ordonnance levitra expre delivery Propecia Gravidanza
Vente Kamagra Espagne Generic Propecia Uk Pharmacy World Periactin cialis online Purchase Minocycline 100mg Blue Mountain Canadian Pharmacy
Cialis En 48h Buy Prednisone buy viagra Levitra 40 Mg Generic Cialis E Prostata
Buy Amoxicillin In Australia Buy Synthroid Online viagra Vente Lioresal En France Cialis Pas Cher Espagne




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq