Samuel Querino da Cuz. Exprimente o script abaixo. Penso que seu problema será resolvido.
F. de Assis #!/usr/bin/perl # # --------------------------------------------------------------------------- # ID-Velox v2.00 [01/11/2003] - http://www.isec.com.br/velox # Por Fabio Vilan aka/nick Duwde, fabio -arroba- isec -ponto- com -ponto- br # --------------------------------------------------------------------------- # # [-=> Alteracoes <=-] # # v2.00 - [01/11/2003] # # - Versao totalmente rescrita do script, agora em perl, totalmente # independentenao do sh, fetch, lynx ou ping !! # # - Suporta o novo esquema de autenticacao do Velox da Telemar # tanto no modo comercial, como residencial, via o metodo CGI POST, # e permite mais flexibilidade nas futuras *inesperadas* mudancas # # - Lista dos provedores residenciais atualizada. # # ------------- # Configuracao # ------------- # Define se seu velox e' residencial ou comercial, se for residencial, # voce precisa de um login/senha em um provedor, se for comercial, # acessa diretamente pela telemar. # # Valores : 'RES' = Residencial # 'COM' = Comercial $VELOX = 'RES'; # Caso use o sistema comercial, pode ser necessario alterar a string # abaixo de acordo com a sua regiao (esta e' a string de conexao # para a regiao da Bahia, outras opcoes comentadas abaixo, veja no codigo # fonte html da autenticacao velox de sua regiao, caso tenha duvidas) # # Somente uma das opcoes deve estar descomentada ! Essa opcao so eh # util se voce estiver usando o modo COMERCIAL, caso esteja no modo # residencial, nao surtira qualquer efeito, pode ignorar esta opcao. # #$COMERCIAL='AABA'; # $COMERCIAL='AAMG'; $COMERCIAL='AARJ'; # Caso use o sistema residencial, voce precisa definir # o nome do seu provedor, o nome tem que ser EXATAMENTE como # esta na pagina de autenticacao no velox, aqui estao alguns # exemplos, (aparentemente agora varia o final, por regiao, # em alguns provedores com o TERRA) # # Somente uma das opcoes deve estar descomentada ! Essa opcao so eh # util se vc estiver usando o modo RESIDENCIAL, caso esteja no modo # comercial, nao surtira qualquer efeito, pode ignorar esta opcao. # # $PROVEDOR='AOL'; # $PROVEDOR='ATARDE'; # $PROVEDOR='ATT'; # $PROVEDOR='BIOHARD'; # $PROVEDOR='BITNET'; # $PROVEDOR='BRFAST'; # $PROVEDOR='BRIDGE'; # $PROVEDOR='BRTURBO'; # $PROVEDOR='CPUNET'; # $PROVEDOR='DDN'; # $PROVEDOR='DH'; # $PROVEDOR='DIGIZAP'; # $PROVEDOR='FACILINTERNET'; # $PROVEDOR='GD'; # $PROVEDOR='GLOBO'; # $PROVEDOR='HOTLINK'; $PROVEDOR='INFOLINK11'; # $PROVEDOR='INTERCALL'; # $PROVEDOR='INTERDOTNET'; # $PROVEDOR='INTERNETRJ'; # $PROVEDOR='INTERNETT'; # $PROVEDOR='MICROECIANET'; # $PROVEDOR='NUXNET'; # $PROVEDOR='OLIMPO'; # $PROVEDOR='OXENTENET'; # $PROVEDOR='POWERTRIX'; # $PROVEDOR='PRODASAL'; # $PROVEDOR='SEVEN'; # $PROVEDOR='SKNET'; # $PROVEDOR='STL'; # $PROVEDOR='SUPERIG'; # $PROVEDOR='SUPRANET'; # $PROVEDOR='TERRAMG2'; # $PROVEDOR='TERRAMG4'; # $PROVEDOR='WAVENET'; # Seu Login no Provedor (!! somente se for residencial !!) $LOGIN = 'seu login'; ### Altere Aqui # Sua Senha no Provedor (!! somente se for residencial !!) $SENHA = 'sua senha'; ### e aqui # ---------------------------------------- # -=*=- FIM DA SECAO DE CONFIGURACAO -=*=- # ---------------------------------------- # Nao altere mais nada abaixo, toda configuracao pode ser feita, # alterando as variaveis acima, qualquer alteracao abaixo pode # tornar seu script nao funcional. $HOST = '200.165.104.14'; $HOST = '200.165.104.30'; $HOST = 'www.veloxzone.com.br'; $PORTA = 80; @HOSTS =('mx.uol.com.br','mx.terra.com.br','mail.telemar.net.br'); $HOSTPORTA = 25; $HOSTTIMEOUT = 2; $RES_URL="/serviceLogon"; $RES_POST="service=internet_$PROVEDOR&fcn=serviceLogon&ac=home&usr=&username=$LOGIN&password=$SENHA&OK=OK"; $COM_URL="/serviceStart?service=internet_$COMERCIAL"; $COM_POST="confirmed=true"; print "-----------------------------------------------------------------------------\n"; print " ID-Velox v2.00 [01/11/2003] - http://www.isec.com.br/velox\n"; print " Por Fabio Vilan aka/nick Duwde, fabio -arroba- isec -ponto- com -ponto- br\n"; print "-----------------------------------------------------------------------------\n"; if ($VELOX eq 'RES') { print "!CONFIG! Modo Residencial\n"; print "!CONFIG! Provedor : $PROVEDOR\n"; print "!CONFIG! Login : $LOGIN\n"; $URL=$RES_URL; $POST=$RES_POST; } elsif ($VELOX eq 'COM') { print "!CONFIG! Modo Comercial\n"; print "!CONFIG! Regiao : $COMERCIAL\n"; $URL=$COM_URL; $POST=$COM_POST; } else { print "!ERRO! Tipo do velox mal configurado, edite o script !!\n"; print "!ERRO! Somente as opcoes \"RES\" ou \"COM\" sao possiveis!!\n"; exit 2; } use IO::Socket; sub autentica() { $sock = new IO::Socket::INET ( PeerAddr => $HOST, PeerPort => $PORTA, Proto => 'tcp'); die("!ERRO! Nao e' possivel conectar em $HOST !!\n") unless $sock; print "!OK! Conexao estabelecida com $HOST.\n"; $sock->print("POST $URL HTTP/1.0\r\n"); $sock->print("Content-Type: application/x-www-form-urlencoded\r\n"); $sock->print("Host: $HOST\r\n"); $sock->print("Content-Length: " . length($POST) . "\r\n"); $sock->print("\r\n$POST\r\n\r\n\r\n"); print "!OK! Aguardando resposta do servidor....\n"; while ($sock->getline()) {} $sock->close(); } sub ping($) { $x=0; foreach (@HOSTS) { if (($_[0] eq 'rapido') && ($x>0)) { return 0; } $c = new IO::Socket::INET ( PeerAddr => "$_" , PeerPort => $HOSTPORTA, Proto => 'tcp', Timeout => $HOSTTIMEOUT); if ($c) { $c->close(); return 1; } $x++; } } print "-----------------------------------------------------------------------------\n"; print "!OK! Verificando se voce ja esta autenticado...\n"; if ( ping('rapido') ) { print "!OK! Voce JA esta autenticado !\n"; exit 0; } print "!OK! Voce ainda nao esta autenticado.\n"; autentica(); while ( not ping('completo') ) { print "!ERRO! Servidor nao liberou acesso, possivel senha ou configuracao incorreta...\n"; print "!OK! Tentando novamente...\n"; autentica(); } print "!OK! Autenticado com sucesso !!\n"; # EOF -- GUS-BR - Grupo de Usuarios Slackware - BR http://www.slackwarebrasil.org/ http://www.linuxmag.com.br/mailman/listinfo/slack-users Archives: - http://www.mail-archive.com/[email protected]/ - http://news.gmane.org/gmane.org.user-groups.linux.brazil.slackware/

